Class KinesisChangeConsumer

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

@Named("kinesis") @Dependent public class KinesisChangeConsumer extends BaseChangeConsumer implements io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>
Implementation of the consumer that delivers the messages into Amazon Kinesis destination.
Author:
Jiri Pechanec
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • PROP_PREFIX

      private static final String PROP_PREFIX
      See Also:
    • PROP_REGION_NAME

      private static final String PROP_REGION_NAME
      See Also:
    • PROP_ENDPOINT_NAME

      private static final String PROP_ENDPOINT_NAME
      See Also:
    • PROP_CREDENTIALS_PROFILE

      private static final String PROP_CREDENTIALS_PROFILE
      See Also:
    • region

      private String region
    • endpointOverride

      private Optional<String> endpointOverride
    • credentialsProfile

      private Optional<String> credentialsProfile
    • DEFAULT_RETRIES

      private static final int DEFAULT_RETRIES
      See Also:
    • RETRY_INTERVAL

      private static final Duration RETRY_INTERVAL
    • nullKey

      String nullKey
    • client

      private software.amazon.awssdk.services.kinesis.KinesisClient client
    • customClient

      @Inject @CustomConsumerBuilder jakarta.enterprise.inject.Instance<software.amazon.awssdk.services.kinesis.KinesisClient> customClient
  • Constructor Details

    • KinesisChangeConsumer

      public KinesisChangeConsumer()
  • 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
    • recordSent

      private boolean recordSent(io.debezium.engine.ChangeEvent<Object,Object> record)