Apache Camel可以向XMPP端点发送XMPP presence/pubsub数据包吗?

Apache Camel可以向XMPP端点发送XMPP presence/pubsub数据包吗?

问题描述:

我需要接收发布到JMS主题的更新,将其转换为XMPP数据包(Presence数据包或PubSub数据包)并将其路由到XMPP端点。Apache Camel可以向XMPP端点发送XMPP presence/pubsub数据包吗?

我使用ActiveMQ作为JMS提供程序和Apache骆驼作为路由引擎。下面给出的是我在骆驼航线(使事情变得简单,我从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:[email protected]?password=pass1"); 

想法是USER1 @ banl080161应该能够发送具有custome存在数据包的地位来自system.in。我正在从system.in中读取数据包,在交换机构中设置此数据包,并以user1 @ banl080161的名义发送此数据包。

问题:没有被发送到XMPP服务器,我使用PSI看到包从USER1 @ banl080161,USER1 @ banl080161到网上来肯定,但没有接收到自定义在线消息。

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

+0

通过骆驼XMPP组件代码浏览过的,骆驼可以发送聊天消息或能做到多用户聊天。似乎发送一个自定义xmpp数据包是不可能的。 – CPJoshi 2010-09-06 04:58:04

请随时为camel-xmpp组件创建此新功能的故障单。

有从本网页问题跟踪链接: http://camel.apache.org/support

+0

谢谢克劳斯,我添加了新票(https://issues.apache.org/activemq/browse/CAMEL-3195) – CPJoshi 2010-10-05 05:07:17

+0

克劳斯,我附上了这个功能的补丁。如果你有一些时间,请看看。欢迎您提出意见/反馈。 – CPJoshi 2010-10-22 17:43:10

+0

非常感谢这个补丁。是的,我们会看看。只是我们想先让骆驼2.5出门。 – 2010-10-24 12:04:27