Acknowledge のタイムアウト期間を設定したいです。つまり、一定期間内に消費者からの特定のメッセージに対する確認応答がブローカーによって受信されない場合、ブローカーはメッセージを消費者に再送信する必要があります。ブローカーでそのような設定を行うことは可能ですか???
質問する
7400 次
2 に答える
2
以下に、ActiveMQ 5.9 でこの問題を解決する方法を説明するリンクをいくつか示します。
- https://issues.apache.org/jira/browse/AMQ-3394
- https://planet.jboss.org/post/coming_in_activemq_5_9_a_new_way_to_abort_slow_consumers
要約する:
- コンシューマ JVM が停止すると、ブローカとコンシューマの間の JMS 接続がタイムアウトし、未確認のメッセージは配信のために再スケジュールされます。
- JMS 接続は終了せず、コンシューマーがメッセージの処理でスタックしている
AbortSlowAckConsumerStrategy
場合、低速のコンシューマーは、設定された低速のしきい値に達すると中止されます。デフォルトでは、30 秒間メッセージを確認していないコンシューマーは低速です。
于 2014-05-27T14:22:51.690 に答える
1
http://activemq.2283324.n4.nabble.com/Acknowledgement-Timeout-td4531016.htmlを参照してください。
再配信ポリシーでは、これに対するサポートはありません。jms は接続指向であるため、接続が有効で ack がない場合、消費者にはまだ ack しない正当な理由があると想定されます。
于 2012-04-11T18:13:12.770 に答える