1

Openfire をサーバーとして使用して、社内メッセージング システム用のクライアント アプリケーションを構築しています。Roster クラスを使用すると、以下を使用して仲間 (友人/連絡先) のリストを見つけることができます。

Roster rs= con.getRoster();
Collection<RosterEntry> list=rs.getEntries();
System.out.println("\n\n" + list.size() + " buddy(ies):");
for (RosterEntry r : list) {
    System.out.println(r.getName());
}

ただし、これは IOMS (Intra Office Messaging System) であるため、要件は異なります。連絡先を追加する必要はありません。すべてのユーザーは、他のすべてのユーザーとそのステータスを確認する必要があります。これを達成する方法はありますか?

4

1 に答える 1

2

これを行う 1 つの方法は、openfire を AD と統合することです。すべてのユーザーを 1 つの共通グループに追加し、そのグループをクライアントにインポートします。そうすれば、ユーザーは自動的にそのグループのメンバーとして表示され、そのオンライン ステータスはそのグループのすべてのメンバーが利用できるようになります。また、新しいユーザーが追加されるたびに、そのユーザーがこのグループのメンバーになることを確認してください。このようにして、全員が一度にユーザーのリストにインポートされます。

同じことに関する参照リンクは次のとおりです。共有グループを介したOpenfire自動名簿作成と、 OpenfireをLDAPと統合するためのガイドは次のとおりです。

もう 1 つの方法は、Openfire コードを更新し、登録プロセスを変更して、すべてのユーザーを新しく登録したユーザーの仲間リストに自動的に追加するコードを追加することです。クライアント側でも同じコードを実行できます。ただし、システム内のユーザー数が増えると問題が発生するため、これは良い方法ではありません。

于 2013-02-26T11:28:34.947 に答える