Apache CamelはXMPPのプレゼンス/PubSubパケットをXMPPエンドポイントに送信できますか?
-
01-10-2019 - |
質問
JMSトピックに公開された更新を受信し、XMPPパケット(プレゼンスパケットまたはPubSubパケット)に変換し、XMPPエンドポイントにルーティングする必要があります。
ActiveMQをJMSプロバイダーとして、Apache Camelをルーティングエンジンとして使用しています。以下に、キャメルの私のルートを示します(JMSトピックの代わりにSystem.inから読んだものを簡単にするために):
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から与えられたステータスを持つCustome Presenceパケットを送信できるはずです。 System.inから読んで、存在感を作成し、このパケットをExchangeボディに設定し、user1@banl080161に代わってこの存在感を送信します。
問題: XMPPサーバーに送信されるものはありません。PSIを使用して、user1@banl080161から来るパケットを表示します。user1@banl080161は確かにオンラインになりますが、カスタムプレゼンスメッセージは受信されません。
Apache Camelでこの種のことをすることは可能ですか?
解決
Camel-XMPPコンポーネントのこの新機能のチケットを自由に作成してください。
このWebページからの問題トラッカーへのリンクがあります。http://camel.apache.org/support
所属していません StackOverflow