我的ActiveMQ服务器中目前有一个名为的队列hello.world
。每当消息处理失败时,ActiveMQ都会创建一个默认目录ActiveMQ.DLQ
。是否可以将该名称更改为类似的名称hello.world.DLQ
?原因是将来我可能会有几个队列,而我希望它像<queue_name>.DLQ
您要查找的东西称为Individual Dead letter Queue strategy
,在此过程中,ActiveMQ为每个队列/主题创建特定的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 DLQ.<queue_name>
,如果您不需要前缀,则可以删除queuePrefix
属性。
希望这可以帮助!
祝好运!
死信队列(Dead Letter Queue)本质上同普通的Queue没有区别,只是它的产生是为了隔离和分析其他Queue(源Queue)未成功处理的消息。 创建死信队列的方法参见createQueue() API,与创建普通队列无异, 死信队列不可调用deadMessage(), deadMessageBatch API,其他操作都与对普通Queue的操作无异。 为了将源Queue的未能成功处理
对于异步的触发器,平台会对函数失败的任务进行最多3次重试。 在新建触发器的时候,为触发器配置一条死信队列,从用户的EMQ队列中选择一条,用于接收函数失败的任务。 在设置死信队列前,请对group: CIf76b0600-24e9-42c4-acf3-d491fbd9fd71 授予 FULL_CONTROL 权限,若不授予权限,平台将丢弃失败的任务信息。 消息的内容如下,以后可能增加字段,请用户在
我有一个lambda函数,我想为它创建一个SQS死信队列。我首先在Terraform中创建SQS: 这是来自Terraform的例子。但是,我被redrive_policy卡住了。 我是否正确理解,这为SQS队列设置了一个死信队列? 如果我设置了redrive_policy,这意味着我在一个DLQ上设置了一个DLQ。我觉得可以在DLQ上设置DLQ,在DLQ上设置DLQ,以此类推。 我找不到这方面的
我有一个使用Spring Cloud Streams-RabbitMQ在微服务中交换消息的项目。对我的项目至关重要的一件事是,我不能丢失任何信息。 null 我是这些框架的新手,我希望你能帮助配置我的...
在SNS话题上设置死信队列和在Lambda功能上设置死信队列有什么区别? 我在想,因为如果您在SNS订阅上设置DLQ,那么当Lambda(订阅者)失败时,订阅消息将故障转移到DLQ,对吗?那么在这种情况下,在这两个地方设置DLQ会有相同的效果吗? 我在SNS主题订阅上设置了一个DLQ,它并没有“自动”地显示为Lambda屏幕设置上的DLQ,所以我想可能会有一些不同? SNS死信队列ref:http
未创建我的exchange和dlq。我在下面的YML中有以下内容。我确实创建了一个匿名队列,但也没有发布消息。任何想法。