来自Camel XMPP的消息未通过Openfire到达Pidgin

时间:2015-02-27 15:51:19

标签: java xmpp apache-camel openfire

我有使用uri发送到制作人模板的驼峰路线:

xmpp://user1@127.0.0.1:5225/user2@127.0.0.1?password=password

127.0.0.1:5225的服务器正在运行openfire并安装了监控插件。 user1和user2都在服务器上设置。

我有一个pidgin客户端登录user2。

如果我将uri更改为发送到房间并使用pidgin客户端查看该房间,则消息将按预期显示。但是,因为它没有收到消息。使用监控插件,它会显示消息在openfire中存档,参与者为user1@127.0.0.1user1@127.0.0.1/Camel

任何想法为什么Camel似乎没有发送给我设置的参与者?

更新

从' user1@127.0.0.1'发送的消息;到' user2@127.0.0.1'反之亦然使用pidgin客户端工作。 并运行骆驼作为' user1@127.0.0.1'登录Pidgin时也是' user1@127.0.0.1'意味着我收到了消息。

1 个答案:

答案 0 :(得分:1)

原来我发送的是使用以下方法:

producer.sendBodyAndHeaders(msg, exchange.getIn().getHeaders());

交换标头包含一个XMPPConstants.To标题,它覆盖了uri中的参与者字段。