我正在开发一个 openfire 插件并停留在某一点。
下面是我的插件代码。我已经实现了 MUCEventListener并且我也收到了回调。但现在我想在messageReceived()方法中从roomJID获取占用者列表。研究了很多,但没有成功。请有人让我突破。
public class OfflineMessageTrigger implements Plugin,
MUCEventListener {
private static final Logger Log = LoggerFactory
.getLogger(OfflineMessageTrigger.class);
public OfflineMessageTrigger() {
}
// Plugin Interface
public void initializePlugin(PluginManager manager, File pluginDirectory) {
MUCEventDispatcher.addListener(this);
}
public void destroyPlugin() {
MUCEventDispatcher.removeListener(this);
}
@Override
public void roomCreated(JID roomJID) {
Log.debug("TASOL-OfflineMessageTrigger -> MUC -> roomCreated(): "
+ "RoomID : " + roomJID);
}
@Override
public void roomDestroyed(JID roomJID) {
Log.debug("TASOL-OfflineMessageTrigger -> MUC -> roomDestroyed(): "
+ "RoomID : " + roomJID);
}
@Override
public void occupantJoined(JID roomJID, JID user, String nickname) {
Log.debug("TASOL-OfflineMessageTrigger -> MUC -> occupantJoined(): "
+ "RoomID : " + roomJID + " UserID : " + user + " NickName : "
+ nickname);
}
@Override
public void occupantLeft(JID roomJID, JID user) {
Log.debug("TASOL-OfflineMessageTrigger -> MUC -> occupantLeft(): "
+ "RoomID : " + roomJID + " UserID : " + user);
}
@Override
public void nicknameChanged(JID roomJID, JID user, String oldNickname,
String newNickname) {
}
@Override
public void messageReceived(JID roomJID, JID user, String nickname,
Message message) {
// HERE I WANT TO FETCH OCCUPANTS LIST OF "roomJID". HOW TO GET?
}
@Override
public void privateMessageRecieved(JID toJID, JID fromJID, Message message) {
}
@Override
public void roomSubjectChanged(JID roomJID, JID user, String newSubject) {
}
}
感谢 Biraj Zalavadia。