Как настроить исключение заголовка сообщения в DLQ - PullRequest
0 голосов
/ 29 апреля 2019

Я хочу, чтобы пользовательское сообщение об исключении в очереди недоставленных сообщений или добавило новый параметр заголовка с пользовательским сообщением об исключении.

Теперь я получил необработанную трассировку стека в заголовке сообщения очереди недоставленных сообщений

@StreamListener(Sink.INPUT)
public void consumer(Message<Content> message) {
    myService.update(message.getPayload().getData().getId());
}

messageInputChannel:
    consumer:
        enableDlq: true
        dlqName: error.message
        backOffInitialInterval: 15000 # the interval is 15s between each time retrying
        backOffMaxInterval: 30000 # the max interval is not over 30s between each time retrying
        maxAttempts: 3
        headerMode: raw

1 Ответ

0 голосов
/ 29 апреля 2019

Ваш вопрос не ясен; с помощью связывателя RabbitMQ вы можете установить republishToDlq, чтобы получить исключение в формировании, добавленное к сообщению.

См. документацию .

republishToDlq

По умолчанию сообщения, которые терпят неудачу после исчерпания повторных попыток, отклоняются. Если очередь недоставленных сообщений (DLQ) настроена, RabbitMQ направляет сообщение об ошибке (без изменений) в DLQ. Если установлено значение true, связыватель повторно публикует сообщения об ошибках в DLQ с дополнительными заголовками, включая сообщение об исключении и трассировку стека от причины окончательного сбоя. Также см. Свойство frameMaxHeadroom.

По умолчанию: false

В связывателе Кафки информация об исключении всегда добавляется в запись пустой буквы в заголовках; в настоящее время нет механизма для настройки этой информации.

...