Подтвердить сообщение в Spring Cloud Stream - PullRequest
0 голосов
/ 22 февраля 2019

Я решил пойти с SCS, чтобы не застрять с конкретным брокером сообщений.Сказав это, я не нашел способа подтверждать сообщения автоматически или вручную, и все, что я нашел, это что-то под Spring Cloud GCP, например PubSubTemplate.Проблема в том, что мой слушатель постоянно получает одни и те же сообщения.Есть ли способ автоматического подтверждения сообщения, как только оно будет извлечено в SCS, независимо от реализации обмена сообщениями?Может быть, путем изменения какой-либо собственности?

1 Ответ

0 голосов
/ 22 февраля 2019

Подтверждение происходит автоматически, если обработчик сообщений не выдал исключение.Конечно, конкретное связующее может иметь проблему, но, помимо того, что, как я уверен, связующее GCP не имеет этой проблемы.

По сути, я хочу сказать, как вы сказали: «... иди с СКС, чтобы не застрять ...».Я хотел бы добавить «... чтобы не застрять с проблемами обработки сообщений вручную ...».Это означает, что ACK / NACK, повторные попытки, DLQ и т. Д. Являются ответственностью SCSt и Spring в целом.

Да, есть крайние случаи, когда вещи могут потребоваться обработать вручную, и некоторые связующие устройства действительно предоставляют Подтверждение и другие обратные вызовы, но мы еще не пришли, поскольку меня больше беспокоит описываемый вами симптом - мой слушатель постоянно получает одни и те же сообщения .Это вряд ли возможно, если такой слушатель не выбрасывает исключение.

Итак, рассмотрите возможность предоставления более подробной информации или лучше разместите свой пример проекта, который воспроизводит проблему где-то на GitHub, чтобы мы могли взглянуть.

...