1
我試圖瞭解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券商的再分發系統作爲一個獨立的客戶端之一。例如,在嘗試6次(默認情況下)以確認消息(CLIENT_ACKNOWLDGMENT
模式)後,消費者會發送毒丸。所以,在收到毒丸之後,經紀人會嘗試重新發送消息給消費者,這將會再次嘗試6次。
因此,總共我們可能會有4 x 6 = 24
次嘗試,然後郵件將發送到DLQ
。
我的支持正確嗎?
明白了,非常感謝。 –