Class RedisStreamChangeConsumer

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

@Named("redis") @Dependent public class RedisStreamChangeConsumer extends BaseChangeConsumer implements io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>
Implementation of the consumer that delivers the messages into Redis (stream) destination.
Author:
M Sazzadul Hoque, Yossi Shirizli
  • Field Details

  • Constructor Details

    • RedisStreamChangeConsumer

      public RedisStreamChangeConsumer()
  • Method Details

    • connect

      @PostConstruct void connect()
    • close

      @PreDestroy void close()
    • batches

      private <T> Stream<List<T>> batches(List<T> source, int length)
      Split collection to batches by batch size using a stream
    • 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