2016-10-03 13 views
0

jmsからTextMessageを受け取るPOJOまでのラクダルートを作ってみたいと思います。 今、私のような豆へのルート:Servicemix 6(ActiveMQ)のjmsキューからカスタムクラスへのCamelルート

from("jms:person_queue").to("bean:QueueConsumerBean?method=consume") 

私はその後、私のBeanメソッドで文字列を受け取ります。私はむしろ "onMessage"メソッドとTextMessageを持つカスタムクラスを持っています。その理由は、トランザクションのように、メッセージに対してクライアントの確認応答を使用したいからです。

また、クライアント認証を使用する別の方法はありますか?

答えて

1

CamelのJMSコンシューマは自動的にackの型を処理します。ルートが成功すると、メッセージを確認します。それがなければ(すなわち、エクスチェンジは例外ハンドラにヒットします)、それをロールバックします。

BIG WARNING:CLIENT_ACKNOWLEDGEの行動が直感的ではない..ですJMS仕様あたり..それACKの現在のメッセージとセッション内のすべての前...このは、メッセージごとのACKであることを当てにすることはできません。あなたがメッセージごとにackを必要とするなら、TRANSACTEDを使います。

関連する問題