【问题标题】:Can Apache Camel send a XMPP presence/pubsub packet to an XMPP endpoint?Apache Camel 能否将 XMPP 存在/发布订阅数据包发送到 XMPP 端点?
【发布时间】:2011-04-08 09:25:19
【问题描述】:

我需要接收发布到 JMS 主题的更新,将其转换为 XMPP 数据包(Presence 数据包或 PubSub 数据包)并将其路由到 XMPP 端点。

我使用 ActiveMQ 作为 JMS 提供程序,使用 Apache camel 作为路由引擎。下面给出的是我在 Camel 中的路线(为了简单起见,我从 system.in 而不是 jms 主题中读取):

     from("stream:in?promptMessage=Enter something:").process( new Processor(){
        public void process(Exchange exchange) throws Exception {
                System.out.println("sending presence with message: " + exchange.getIn().getBody().toString());
                Presence p = new Presence(Type.available, exchange.getIn().getBody().toString(), 5, Mode.chat);
                exchange.getIn().setBody(p);
            }
            }).to("xmpp:user1@banl080161?password=pass1");

想法是 user1@banl080161 应该能够发送具有从 system.in 给定的状态的客户存在数据包。我正在从 system.in 读取信息,制作存在数据包,在交换正文中设置此数据包并代表 user1@banl080161 发送此存在信息。

问题:什么都没有发送到 XMPP 服务器,我使用 PSI 来查看来自 user1@banl080161 的数据包,user1@banl080161 确实在线,但没有收到自定义状态消息。

在apache camel中可以做这种事情吗?

【问题讨论】:

  • 通过camel-xmpp组件代码浏览,camel既可以发送聊天消息,也可以进行多用户聊天。似乎无法发送自定义 xmpp 数据包。

标签: routing xmpp apache-camel publish-subscribe


【解决方案1】:

请随时为 camel-xmpp 组件的这一新功能创建一张票。

此网页有一个指向问题跟踪器的链接: http://camel.apache.org/support

【讨论】:

  • 感谢克劳斯,我添加了新票 (issues.apache.org/activemq/browse/CAMEL-3195)
  • 克劳斯,我已经附上了这个功能的补丁。如果您有时间,请看一下。欢迎您的 cmets/反馈。
  • 非常感谢补丁。是的,我们会看看。只是我们想先推出 Camel 2.5。
猜你喜欢
  • 1970-01-01
  • 2012-10-08
  • 1970-01-01
  • 2012-08-08
  • 1970-01-01
  • 1970-01-01
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多