我需要接收發布到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駱駝中可以做這種事情嗎?
通過駱駝XMPP組件代碼瀏覽過的,駱駝可以發送聊天消息或能做到多用戶聊天。似乎發送一個自定義xmpp數據包是不可能的。 – CPJoshi 2010-09-06 04:58:04