0

ActiveMQ では、再配信ポリシーで useExponentialBackOff を設定することができます。これにより、メッセージの消費が失敗するたびに遅延が指数関数的に増加します。HornetQ でそれを達成する方法は?

独自の再配信ポリシーをJavaクラスとして定義することはできますか?

4

1 に答える 1

1

それはうまくいくはずです:

<address-settings>
      <address-setting match="jms.queue.example">
         <dead-letter-address>jms.queue.deadletter</dead-letter-address>
         <max-delivery-attempts>5</max-delivery-attempts>
         <redelivery-delay>1000</redelivery-delay>
         <redelivery-delay-multiplier>2.0</redelivery-delay-multiplier>
      </address-setting>
</address-settings>
  • redelivery-delay-multiplier: これにより、再配信の試行間に指数バックオフを実装できます。
  • max-delivery-attempts: max-delivery-attempt
    回の試行が失敗した後、メッセージは配信不能アドレス (指定されている場合) に転送されます。
  • redelivery-delay: HornetQ はこの遅延を待ってからメッセージを再配信します
于 2013-03-30T14:46:08.073 に答える