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