我有使用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.1
和user1@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'意味着我收到了消息。
答案 0 :(得分:1)
原来我发送的是使用以下方法:
producer.sendBodyAndHeaders(msg, exchange.getIn().getHeaders());
交换标头包含一个XMPPConstants.To
标题,它覆盖了uri中的参与者字段。