Слушатель больше не звонил после снаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Слушатель больше не звонил после сна

Сообщение Anonymous »

Дано:

Код: Выделить всё

ConsumerFactory
с установленным ContainerProperties.AckMode.MANUAL.

Код: Выделить всё

    @KafkaListener(
autoStartup = "false",
topics = "someTopic",
containerFactory = "manualAckKafkaListenerContainerFactory",
concurrency = "8",
batch = "true",
clientIdPrefix = "prefix")
@Override
public void accept(List messages, Acknowledgment ack) {
try {
processMessages(messages);
ack.acknowledge();
} catch (Exception e) {
logger.error(e.getMessage(), e);
ack.nack(0, Duration.ofSeconds(30));
}
}
Как только вызывается nack, метод прослушивателя больше никогда не вызывается, хотя у меня есть сообщение по теме, которое еще не было успешно обработано (отсюда и nack >-позвонить). Я предполагаю, что вызов nack с индексом 0 отбрасывает весь пакет, приостанавливает потребителя на 30 секунд и пытается повторно обработать сообщения. Как я могу это сделать? Я думал, что этот параметр сна nack действует как автоматический выключатель, поддерживая жизнь потребителя и не вызывая перебалансировки.

Подробнее здесь: https://stackoverflow.com/questions/792 ... after-nack
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»