2015-11-12 3 views
0

Я установил поток весны xd с DLQ, и я сделал циклическую конфигурацию до , возвращаясь из DLQ в главную очередь.Параметры конфигурации весны xd dlq

xdbus.s3Test.0-->DLQ-->xdbus.s3Test.0 

stream create s3Test --definition "aws-s3-source | log" 

stream deploy S3test --properties module.*.consumer.autoBindDLQ=true 

Чтобы сделать это круг, я должен был изменить конфигурацию DLQ добавление вручную из кролика MQ ADMIN UI.

x-message-ttl: 30000 
x-dead-letter-exchange: Default(Empty) 

Есть ли способ весной XD я могу настроить свойства DLQ? Потому что очередь DL будет генерироваться XD во время выполнения и, в идеале, я не могу это о вскрытии production.Can я установить некоторые свойства для установки вышеуказанных свойств для DLQ?

ответ

2

Вы не можете установить свойство DLQ через XD, но вы можете создать политику в RabbitMQ, которая относится к DLQs созданного XD:

$ rabbitmqctl set_policy XDDLQTTL "xdbus\..*\.dlq" '{"dead-letter-exchange":"", "message-ttl":30000}' --apply-to queues 

Это относится ваши необходимые свойства для всех очередей, начиная с xdbus. и заканчивающийся .dlq.

Я просто проверил его с этим и он прекрасно работает ...

xd:>stream create ticktock --definition "time --fixedDelay=60 | transform --expression=1/0 | log" 
Created new stream 'ticktock' 
xd:>stream deploy ticktock --properties module.*.consumer.autoBindDLQ=true 
Deployed stream 'ticktock' 

И вы можете увидеть сообщение на велосипеде (из-за деления на ноль).

Одно предостережение - это будет продолжаться постоянно; вам понадобится некоторый код в модуле, чтобы посмотреть заголовок x-death, если вы хотите прервать после некоторого количества попыток.

+0

Спасибо, Гэри, вы спасли день :) – constantlearner

Смежные вопросы