2016-05-19 17 views
0

私はApache Storm SpoutとしてActiveMQキューを使用しようとしています。active mq delay recovery

私は "INDIVIDUAL_ACK"戦略を使用します。

私の考えでは、私は定期的にsession.recover()をトリガーして、認識されないメッセージを再送することを計画しています(ボルト処理チェーンのエラー)。

私がそれを行うと、現在処理されているStormタプルに対応するすべてのメッセージが再送されます。私はこの現象を制限しようとします。

理想的には、私は遅れをパラメータしたい、すべてのメッセージは、この遅延は憤慨してはならないことを、若い送られた(この遅延はまた、嵐のタプル処理のタイムアウトと同位相であるべき)

私が読みましたAMQのポリシーについて(http://activemq.apache.org/redelivery-policy.html)、私はredeliveryDelay paramが私の問題に当てはまるかどうかはわかりません。

ヒント?あなたがSession.recoverの()を使用していないINDIVIDUAL_ACKNOWLEDGEで

フランク

答えて

0

は、あなたがmessage.acknowledgeを行います()。さらに、自動的に回復可能なエラー(つまり、ホストが停止している)に対してのみJMSスタイルのトランザクションを使用することをお勧めします。コンテキスト上の問題(つまり、悪いデータ)がうまくいかない場合は、メッセージを別のキュー、つまり.DLQまたは.ERRキューに移動する必要があります。