是否可以为各个队列设置死信队列
Is it possible to have dead letter queue for individual queues
我目前在我的 ActiveMQ 服务器中有一个名为 hello.world
的队列。每当消息处理失败时,ActiveMQ 都会创建一个名为 ActiveMQ.DLQ
的默认目录。是否可以将该名称更改为 hello.world.DLQ
之类的名称?原因是我将来可能有几个队列,我希望它像 <queue_name>.DLQ
您要找的东西叫 Individual Dead letter Queue strategy
,
在此过程中,ActiveMQ 为每个 queue/topic、
创建特定的 DLQ
您可以通过稍微调整 activemq.xml
来实现它,如下所示
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">"> <!-- '>' is the wildcard used in ActiveMQ which means for all queues, i.e. same as '*' in any other language -->
<!-- need to add the following lines in you conf file -->
<deadLetterStrategy>
<individualDeadLetterStrategy
queuePrefix="DLQ." useQueueForQueueMessages="true" />
</deadLetterStrategy>
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
此配置将创建名称类似于 DLQ.<queue_name>
的 DLQ,如果您不需要前缀,可以删除 queuePrefix
属性。
希望对您有所帮助!
祝你好运!
我目前在我的 ActiveMQ 服务器中有一个名为 hello.world
的队列。每当消息处理失败时,ActiveMQ 都会创建一个名为 ActiveMQ.DLQ
的默认目录。是否可以将该名称更改为 hello.world.DLQ
之类的名称?原因是我将来可能有几个队列,我希望它像 <queue_name>.DLQ
您要找的东西叫 Individual Dead letter Queue strategy
,
在此过程中,ActiveMQ 为每个 queue/topic、
您可以通过稍微调整 activemq.xml
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">"> <!-- '>' is the wildcard used in ActiveMQ which means for all queues, i.e. same as '*' in any other language -->
<!-- need to add the following lines in you conf file -->
<deadLetterStrategy>
<individualDeadLetterStrategy
queuePrefix="DLQ." useQueueForQueueMessages="true" />
</deadLetterStrategy>
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
此配置将创建名称类似于 DLQ.<queue_name>
的 DLQ,如果您不需要前缀,可以删除 queuePrefix
属性。
希望对您有所帮助!
祝你好运!