我正在尝试连接到本地 OpenFire 服务器上的 Xmpp 聊天室。我正在运行 Pidgin,并且可以验证 OpenFire 是否工作正常。我的 Camel 路线看起来像这样:
from("{{chat.timer}}")
.setBody(constant("I will win!"))
.to("xmpp://superman@localhost:5222/password=secret&room=room1@conference.localhost")
但是我在 ServiceMix 日志中收到错误:
13:33:20,772 | ERROR | data.flow.start] | DefaultErrorHandler | 90 - org.apache.camel.camel-core - 2.8.3 | Failed delivery for exchangeId....
.
.
.
Caused by: java.lang.NoSuchMethodError: org.jivesoftware.smackx.muc.MultiUserChat.getServiceNames(Lorg/jivesoftware/smack/XMPPConnection;)Ljava/util/Collection;
at org.apache.camel.component.xmpp.XmppEndpoint.resolveRoom(XmppEndpoint.java:197)
还有一些我认为相同的“NoSuchMethodErrors”。
我在 ServiceMix 中安装了 3.2.0.1,我不明白为什么会弹出这些错误。我可以通过Camel向用户发送Xmpp消息,这是第一次使用聊天室。任何帮助将不胜感激。
最佳答案
事实证明,我的运行时使用的是 servicemix smack bundle (版本 3.2.0),而我的编译版本使用的是 jivesoftware smack(版本 3.1.0)。
我将编译的依赖项更新为 servicemix 版本,一切正常。
关于java - Camel Route 到 XMPP 聊天室惨败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10198007/