Camel Route to XMPP Chatroom失败了

时间:2012-04-17 19:41:44

标签: java xmpp apache-camel

我正在尝试连接到本地OpenFire服务器上的Xmpp聊天室。我有Pidgin运行,可以验证OpenFire工作正常。我的骆驼路线看起来像:

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中安装了smack 3.2.0.1,我不明白为什么会出现这些错误。我可以通过Camel向用户发送Xmpp消息,这是第一次使用聊天室。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

事实证明,我的运行时使用的是servicemix smack bundle(版本3.2.0),而我编译的是使用了jivesoftware smack(版本3.1.0)。

我将已编译的依赖项更新为servicemix版本,但事情正在发挥作用。