Я пытаюсь понять разницу между ActiveMQ
redeliveryPlugin
и попыткой потребителя получать сообщения до того, как они отметят его как ядовитую таблетку. Какая разница. В the documentation there'is пример:Резервное копирование ActiveMQ-брокера против потребительской доставки
<broker xmlns="http://activemq.apache.org/schema/core" schedulerSupport="true" >
....
<plugins>
<redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
<redeliveryPolicyMap>
<redeliveryPolicyMap>
<redeliveryPolicyEntries>
<!-- a destination specific policy -->
<redeliveryPolicy queue="SpecialQueue" maximumRedeliveries="4"
redeliveryDelay="10000" />
</redeliveryPolicyEntries>
<!-- the fallback policy for all other destinations -->
<defaultEntry>
<redeliveryPolicy maximumRedeliveries="4" initialRedeliveryDelay="5000"
redeliveryDelay="10000" />
</defaultEntry>
</redeliveryPolicyMap>
</redeliveryPolicyMap>
</redeliveryPlugin>
</plugins>
Теперь я uderstand системы Redelivery брокера в качестве отдельных одному клиента. Например, после совершения 6 попыток (по умолчанию) подтверждения сообщения (CLIENT_ACKNOWLDGMENT
) потребитель отправляет ядовитую таблетку. Итак, верно ли, что после получения ядовитой таблетки брокер попытается отправить сообщение потребителю, которое сделает еще 6 попыток.
Таким образом, в общей сложности у нас может быть попыток до того, как сообщение отправит сообщение DLQ
.
Является ли мое недооценка правильной?
Получил, спасибо много. –