来自 Camel XMPP 的消息未通过 Openfire 到达 Pidgin
Messages from Camel XMPP not arriving in Pidgin via Openfire
我使用 uri 将骆驼路线发送到生产者模板:
xmpp://user1@127.0.0.1:5225/user2@127.0.0.1?password=password
127.0.0.1:5225
的服务器是运行openfire,安装了监控插件。服务器上设置了user1和user2。
我在 user2 上登录了一个 pidgin 客户端。
如果我更改 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' 意味着我收到了消息。
原来我是使用以下方法发送的:
producer.sendBodyAndHeaders(msg, exchange.getIn().getHeaders());
交换 headers 包含一个 XMPPConstants.To
header,它覆盖了 uri 中的参与者字段。
我使用 uri 将骆驼路线发送到生产者模板:
xmpp://user1@127.0.0.1:5225/user2@127.0.0.1?password=password
127.0.0.1:5225
的服务器是运行openfire,安装了监控插件。服务器上设置了user1和user2。
我在 user2 上登录了一个 pidgin 客户端。
如果我更改 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' 意味着我收到了消息。
原来我是使用以下方法发送的:
producer.sendBodyAndHeaders(msg, exchange.getIn().getHeaders());
交换 headers 包含一个 XMPPConstants.To
header,它覆盖了 uri 中的参与者字段。