Class RabbitMqStreamNativeChangeConsumer

java.lang.Object
io.debezium.server.BaseChangeConsumer
io.debezium.server.rabbitmq.RabbitMqStreamNativeChangeConsumer
All Implemented Interfaces:
io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>

@Named("rabbitmqstream") @Dependent public class RabbitMqStreamNativeChangeConsumer extends BaseChangeConsumer implements io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>
Implementation of the consumer that delivers the messages into RabbitMQ Stream destination.
Author:
Olivier Boudet
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • PROP_PREFIX

      private static final String PROP_PREFIX
      See Also:
    • PROP_STREAM

      private static final String PROP_STREAM
      See Also:
    • PROP_CONNECTION_PREFIX

      private static final String PROP_CONNECTION_PREFIX
      See Also:
    • stream

      Optional<String> stream
    • ackTimeout

      int ackTimeout
    • nullValue

      String nullValue
    • environment

      com.rabbitmq.stream.Environment environment
    • producer

      com.rabbitmq.stream.Producer producer
  • Constructor Details

    • RabbitMqStreamNativeChangeConsumer

      public RabbitMqStreamNativeChangeConsumer()
  • Method Details

    • connect

      @PostConstruct void connect()
    • close

      @PreDestroy void close()
    • handleBatch

      public void handleBatch(List<io.debezium.engine.ChangeEvent<Object,Object>> records, io.debezium.engine.DebeziumEngine.RecordCommitter<io.debezium.engine.ChangeEvent<Object,Object>> committer) throws InterruptedException
      Specified by:
      handleBatch in interface io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>
      Throws:
      InterruptedException
    • convertRabbitMqHeaders

      private Map<String,Object> convertRabbitMqHeaders(io.debezium.engine.ChangeEvent<Object,Object> record)