Я пытаюсь автоматически отправлять сообщения в DLQ, если число превышено, повторите попытку. Для этого я использую redeliveryPlugin.
У меня есть конфигурация ActiveMQ (broker.xml)
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://activemq.apache.org/schema/core
http://activemq.apache.org/schema/core/activemq-core.xsd">
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="${broker-name}"
dataDirectory="${data}"
schedulerSupport="true"
start="false" restartAllowed="false"
>
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">">
<deadLetterStrategy>
<individualDeadLetterStrategy processExpired="false" queuePrefix="DLQ." useQueueForQueueMessages="true"/>
</deadLetterStrategy>
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
<persistenceAdapter>
<kahaDB directory="${data}/kahadb"/>
</persistenceAdapter>
<plugins>
<jaasAuthenticationPlugin configuration="karaf" />
<redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
<redeliveryPolicyMap>
<redeliveryPolicyMap>
<redeliveryPolicyEntries>
<redeliveryPolicy
queue=">"
useExponentialBackOff="true"
backOffMultiplier="2"
initialRedeliveryDelay="1000"
maximumRedeliveryDelay="60000"
maximumRedeliveries="-1"/>
</redeliveryPolicyEntries>
<defaultEntry>
<redeliveryPolicy maximumRedeliveries="6"
initialRedeliveryDelay="1000"
redeliveryDelay="5000"/>
</defaultEntry>
</redeliveryPolicyMap>
</redeliveryPolicyMap>
</redeliveryPlugin>
</plugins>
<systemUsage>
//
</systemUsage>
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp" uri="amqp://0.0.0.0:5672"/>
</transportConnectors>
</broker>
В этом параметре изображения JMSXDeliveryCount имеет значение 3, я ожидал, что плагин будетотправить сообщение в DLQ, но этого не произошло, и я не понимаю, почему
UPD:
Я добавил в конфигурацию schedulerSupport = "true", но в консоли ActiveMQ список запланированных пуст