Class RabbitMqStreamChangeConsumer

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

@Named("rabbitmq") @Dependent public class RabbitMqStreamChangeConsumer 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_CONNECTION_PREFIX

      private static final String PROP_CONNECTION_PREFIX
      See Also:
    • routingKey

      Optional<String> routingKey
    • ackTimeout

      int ackTimeout
    • connection

      com.rabbitmq.client.Connection connection
    • channel

      com.rabbitmq.client.Channel channel
  • Constructor Details

    • RabbitMqStreamChangeConsumer

      public RabbitMqStreamChangeConsumer()
  • 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
    • supportsTombstoneEvents

      public boolean supportsTombstoneEvents()
      Specified by:
      supportsTombstoneEvents in interface io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>
    • convertRabbitMqHeaders

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