La forma de ejecutar manual de compensación de reconocer ListenerContainerIdleEvent primavera

Tzachi Struga:

Tengo un oyente Kafka que implementa la interfaz escucha de mensajes de acuse de recibo con las siguientes propiedades:

  1. ackMode - MANUAL_IMMEDIATE
  2. idleEventInterval - 3 Min

Mientras que consume mensaje en el oyente se decide si el ACK a través acknowledgment.acknowledge registro específico () y funciona como se esperaba.

Además, tengo un escenario a ack último número de desplazamiento (manteniéndolo en la memoria) después de X minutos (también si hay mensajes llegaron). para superar este requisito decido uso ListenerContainerIdleEvent que el fuego cada 3 min de acuerdo con la configuración de mi.

Mis preguntas son:

  1. ¿hay alguna manera de reconocer Kafka compensar como un disparador para un evento de inactividad? el evento inactivo contiene una referencia a KafkaMessageListenerContainer pero encapsula el ListenerConsumer que sostienen KafkaConsumer.

  2. es el caso de envío de mensaje de sincronización inactiva (con el mismo hilo de la KafkaListenerConsumer)? A partir del código, la implementación por defecto es SimpleApplicationEventMulticaster que inicializar sin TaskExecutor por lo que invoca al oyente en el mismo hilo. u puede aprobarlo?

Estoy usando la primavera-kafka 1.3.9.

Gary Russell:
  1. Sí, sólo mantener una referencia a la última Acknowledgmenty llamar acknowledge()de nuevo.

  2. Sí, el evento se publica en el hilo consumidor por defecto.

Incluso si el evento se publica en un hilo diferente (ejecutor en el multicaster) debería seguir funcionando porque, en lugar de cometer directamente, el commit se pondrá en cola y procesadas por el consumidor cuando se despierta de la encuesta.

Ver la lógica en processAck().

En las nuevas versiones (a partir de 2,0), el evento tiene una referencia al consumidor para que pueda interactuar con él directamente (obtener la posición actual y cometer de nuevo), siempre y cuando el evento se publica en el hilo consumidor.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=228755&siteId=1
Recomendado
Clasificación