В настоящее время у меня есть очередь на моем сервере ActiveMQ под названием hello.world
. Всякий раз, когда сообщение не обрабатывается, ActiveMQ создает каталог по умолчанию ActiveMQ.DLQ
. Можно ли изменить это имя на что-то вроде hello.world.DLQ
? Причина в том, что я мог бы иметь несколько очередей в будущем, и я хочу, чтобы это было что-то вроде <queue_name>.DLQ
Возможно ли иметь очередь с мертвой буквой для отдельных очередей
3
A
ответ
5
вещи, которую вы ищете, называется 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
атрибут.
надеюсь, что это поможет!
Удачи вам!
Да, это так! Спасибо! – mpmp