2013-02-26 47 views
1

我正在爲使用Openfire作爲服務器的Intra Office消息系統構建客戶端應用程序。使用名冊類我可以用找到的哥們(朋友/聯繫人)名單:使用Smack API自動將用戶添加到花名冊

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(內部辦公郵件系統),要求是diferent。沒有必要添加聯繫人。所有用戶都應該看到其他用戶和他的狀態。有沒有辦法做到這一點?

+0

請嘗試爲您的問題找到更好/更具描述性的標題。 – Flow 2013-02-26 14:40:50

回答

2

做到這一點的一種方法是將您的openfire與AD集成。將所有用戶添加到一個公共組中,然後在客戶端中導入該組。這樣用戶將自動顯示爲該組的成員,並且他/她的在線狀態將可供該組的所有成員使用。並確保每當添加新用戶時,它都會成爲該組的成員。這樣,每個人都會立即在用戶列表中導入。

下面是關於同一個參考鏈接:Openfire Automatic Roster Population via Shared Groups這裏是先導,以integrate Openfire with LDAP

另一種方法是,更新的Openfire代碼和變更登記過程中自動將所有用戶好友的新列表中添加代碼註冊用戶。您也可以在客戶端執行相同的代碼。但是這不是一個好的方法,因爲隨着系統中用戶數量的增長,這會導致問題。

+0

我正在考慮替代方案。無論是否在用戶的好友列表中,是否可以向註冊的所有用戶廣播消息? – kunal18 2013-02-26 11:51:01

+0

@stalin考慮使用廣播插件。 – 2013-02-26 11:53:52

+1

我決定這樣做:有一個openfire服務器的「註冊插件」插件,使用它我們可以設置每個用戶在註冊時必須添加的默認組,並且這可以解決我的問題! – kunal18 2013-02-26 12:24:14

相關問題