Class SpannerEventDispatcher

java.lang.Object
io.debezium.pipeline.EventDispatcher<SpannerPartition,TableId>
io.debezium.connector.spanner.processor.SpannerEventDispatcher
All Implemented Interfaces:
AutoCloseable

public class SpannerEventDispatcher extends io.debezium.pipeline.EventDispatcher<SpannerPartition,TableId>
Spanner dispatcher for data change and schema change events.
  • Nested Class Summary

    Nested classes/interfaces inherited from class io.debezium.pipeline.EventDispatcher

    io.debezium.pipeline.EventDispatcher.InconsistentSchemaHandler<P extends io.debezium.pipeline.spi.Partition,T extends io.debezium.spi.schema.DataCollectionId>, io.debezium.pipeline.EventDispatcher.SnapshotReceiver<P extends io.debezium.pipeline.spi.Partition>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
     
    private static final org.slf4j.Logger
     
    private final io.debezium.connector.base.ChangeEventQueue<io.debezium.pipeline.DataChangeEvent>
     
    private final io.debezium.schema.DatabaseSchema<TableId>
     
    private final SchemaRegistry
     
    private final SourceInfoFactory
     
    private final io.debezium.spi.topic.TopicNamingStrategy<TableId>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    SpannerEventDispatcher(SpannerConnectorConfig connectorConfig, io.debezium.spi.topic.TopicNamingStrategy<TableId> topicNamingStrategy, io.debezium.schema.DatabaseSchema<TableId> schema, io.debezium.connector.base.ChangeEventQueue<io.debezium.pipeline.DataChangeEvent> queue, io.debezium.schema.DataCollectionFilters.DataCollectionFilter<TableId> filter, io.debezium.pipeline.spi.ChangeEventCreator changeEventCreator, io.debezium.pipeline.source.spi.EventMetadataProvider metadataProvider, io.debezium.heartbeat.HeartbeatFactory<TableId> heartbeatFactory, io.debezium.schema.SchemaNameAdjuster schemaNameAdjuster, SchemaRegistry schemaRegistry, SourceInfoFactory sourceInfoFactory, KafkaPartitionInfoProvider kafkaPartitionInfoProvider)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) org.apache.kafka.connect.data.Struct
    buildMessage(io.debezium.data.Envelope envelope, org.apache.kafka.connect.data.Struct sourceStruct)
     
    void
     
    void
     
    (package private) org.apache.kafka.connect.source.SourceRecord
    emitSourceRecord(String topicName, io.debezium.schema.DataCollectionSchema dataCollectionSchema, int partition, org.apache.kafka.connect.data.Struct sourceStruct)
     
    boolean
     

    Methods inherited from class io.debezium.pipeline.EventDispatcher

    alwaysDispatchHeartbeatEvent, dispatchConnectorEvent, dispatchDataChangeEvent, dispatchFilteredEvent, dispatchHeartbeatEvent, dispatchSchemaChangeEvent, dispatchSchemaChangeEvent, dispatchServerHeartbeatEvent, dispatchSnapshotEvent, dispatchTransactionCommittedEvent, dispatchTransactionStartedEvent, doPostProcessing, enqueueNotification, errorOnMissingSchema, getHistorizedSchema, getIncrementalSnapshotChangeEventReceiver, getIncrementalSnapshotChangeEventSource, getSchema, getSnapshotChangeEventReceiver, heartbeatsEnabled, ignoreMissingSchema, setEventListener, setIncrementalSnapshotChangeEventSource

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • connectorConfig

      private final SpannerConnectorConfig connectorConfig
    • queue

      private final io.debezium.connector.base.ChangeEventQueue<io.debezium.pipeline.DataChangeEvent> queue
    • topicNamingStrategy

      private final io.debezium.spi.topic.TopicNamingStrategy<TableId> topicNamingStrategy
    • schemaRegistry

      private final SchemaRegistry schemaRegistry
    • schema

      private final io.debezium.schema.DatabaseSchema<TableId> schema
    • sourceInfoFactory

      private final SourceInfoFactory sourceInfoFactory
    • kafkaPartitionInfoProvider

      private final KafkaPartitionInfoProvider kafkaPartitionInfoProvider
  • Constructor Details

    • SpannerEventDispatcher

      public SpannerEventDispatcher(SpannerConnectorConfig connectorConfig, io.debezium.spi.topic.TopicNamingStrategy<TableId> topicNamingStrategy, io.debezium.schema.DatabaseSchema<TableId> schema, io.debezium.connector.base.ChangeEventQueue<io.debezium.pipeline.DataChangeEvent> queue, io.debezium.schema.DataCollectionFilters.DataCollectionFilter<TableId> filter, io.debezium.pipeline.spi.ChangeEventCreator changeEventCreator, io.debezium.pipeline.source.spi.EventMetadataProvider metadataProvider, io.debezium.heartbeat.HeartbeatFactory<TableId> heartbeatFactory, io.debezium.schema.SchemaNameAdjuster schemaNameAdjuster, SchemaRegistry schemaRegistry, SourceInfoFactory sourceInfoFactory, KafkaPartitionInfoProvider kafkaPartitionInfoProvider)
  • Method Details

    • publishLowWatermarkStampEvent

      public boolean publishLowWatermarkStampEvent()
    • emitSourceRecord

      org.apache.kafka.connect.source.SourceRecord emitSourceRecord(String topicName, io.debezium.schema.DataCollectionSchema dataCollectionSchema, int partition, org.apache.kafka.connect.data.Struct sourceStruct)
    • buildMessage

      org.apache.kafka.connect.data.Struct buildMessage(io.debezium.data.Envelope envelope, org.apache.kafka.connect.data.Struct sourceStruct)
    • destroy

      public void destroy()
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Overrides:
      close in class io.debezium.pipeline.EventDispatcher<SpannerPartition,TableId>