我已经做了一个非常简单的Java应用程序(这只是一个证明),我没有问题连接到我的ActiveMQ消息布洛克(这是安装在我用来测试我的Java应用程序的同一台机器上)。 问题是我无法拦截任何消息。 我已经在我的应用程序中设置了一个messageListener,如下所示,但我不确定它是否在正确的位置,也没有正确的方法来拦截邮件(例如,发送邮件时使用“发送到”选项如本文下半部分的链接所述,ActiveMQ的管理控制台)。 下面是消息监听代码:XMPP客户端(与smack)和ActiveMQ,如何拦截“adminConsole”消息
/*................previous code is not relevant.................*/
ConnectionConfiguration config = new ConnectionConfiguration("192.168.43.5",61222); //to get my XMPP connector uri
String msg="";
config.setSASLAuthenticationEnabled(false);
config.setCompressionEnabled(false);
XMPPConnection xmpp = new XMPPConnection(config);
try {
xmpp.connect();
xmpp.login("name", "pw");
/*Filter*/
PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
/*MessageListener to get messages*/
MessageListener listen = new MessageListener() {
@Override
public void processMessage(Chat arg0, Message arg1) {
// TODO Auto-generated method stub
msg = "ok ";
msg = arg1.toString();
}
};
/*New chat with my messageListener*/
Chat c = xmpp.getChatManager().createChat("admin", listen) ;
c.sendMessage("enter text here");
}
catch (XMPPException e) {
}
/*...............other code.......................*/
这或多或少是我想做的事情,用我的Java应用程序,而不是火花(我已经能够做到这一点火花)。 ActiveMQ with XMPP
感谢所有想帮助我的人!