2010-09-05 24 views
2

我需要接收發布到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

回答

0

請隨時爲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