Когда я устанавливаю для enable.auto.commit значение false и пытаюсь вручную зафиксировать смещение с использованием аннотации spring-kafka @KafkaListener, я получаю org.springframework.kafka.listener.ListenerExecutionFailedException: метод прослушивателя не может быть вызван с входящим сообщение
У меня очень простой код:
@KafkaListener(id = "someid", topics = "${demo.topic}", containerFactory = "someContainerFactory")
public void listenFooGroup(String message, Acknowledgement ack) {
System.out.println("Received Messasge in group 'foo': " + message);
// TODO: Do something with the message
}
И когда я отправляю сообщение от производителя, я получаю следующее исключение:
org.springframework.kafka.listener.ListenerExecutionFailedException: метод прослушивателя не может быть вызван с входящим сообщением.
Детали обработчика конечной точки:
Метод [public void com. ****. *****. *******. KafkaMessageListener.listenFooGroup (java.lang.String, org.springframework.kafka.support.Acknowledgment)]
Bean [com.****.*****.*******.KafkaMessageListener@5856dbe4]; вложенное исключение - org.springframework.messaging.converter.MessageConversionException: не удается обработать сообщение; вложенное исключение - org.springframework.messaging.converter.MessageConversionException: не удается преобразовать из [java.lang.String] в [org.springframework.kafka.support.Acknowledgment] для GenericMessage [payload = test, headers = {kafka_offessageKreceived = null, kafka_receivedPartitionId = 0, kafka_receivedTopic = demotopic}], failedMessage = GenericMessage [payload = test, headers = {kafka_offset = 57, kafka_receivedMessageKey = null, kafka_receivedPartitionId] deceivedPartitionId = 0, kafka_receivedPartitionId}
Пожалуйста помоги. TIA.