Class JdbcSourceEventDispatcher<P extends io.debezium.pipeline.spi.Partition>

  • All Implemented Interfaces:
    AutoCloseable, WatermarkDispatcher

    public class JdbcSourceEventDispatcher<P extends io.debezium.pipeline.spi.Partition>
    extends io.debezium.pipeline.EventDispatcher<P,​io.debezium.relational.TableId>
    implements WatermarkDispatcher
    A subclass implementation of EventDispatcher.
      1. This class shares one ChangeEventQueue between multiple readers.
      2. This class override some methods for dispatching HistoryRecord directly,
         this is useful for downstream to deserialize the HistoryRecord back.
     
    • 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.schema.DataCollectionId>, io.debezium.pipeline.EventDispatcher.SnapshotReceiver<P extends io.debezium.pipeline.spi.Partition>
    • Constructor Summary

      Constructors 
      Constructor Description
      JdbcSourceEventDispatcher​(io.debezium.config.CommonConnectorConfig connectorConfig, io.debezium.schema.TopicSelector<io.debezium.relational.TableId> topicSelector, io.debezium.schema.DatabaseSchema<io.debezium.relational.TableId> schema, io.debezium.connector.base.ChangeEventQueue<io.debezium.pipeline.DataChangeEvent> queue, io.debezium.schema.DataCollectionFilters.DataCollectionFilter<io.debezium.relational.TableId> filter, io.debezium.pipeline.spi.ChangeEventCreator changeEventCreator, io.debezium.pipeline.source.spi.EventMetadataProvider metadataProvider, io.debezium.util.SchemaNameAdjuster schemaNameAdjuster, SchemaChangeEventHandler schemaChangeEventHandler)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispatchSchemaChangeEvent​(Collection<io.debezium.relational.TableId> dataCollectionIds, io.debezium.pipeline.spi.SchemaChangeEventEmitter schemaChangeEventEmitter)  
      void dispatchSchemaChangeEvent​(P partition, io.debezium.relational.TableId dataCollectionId, io.debezium.pipeline.spi.SchemaChangeEventEmitter schemaChangeEventEmitter)  
      void dispatchWatermarkEvent​(Map<String,​?> sourcePartition, SourceSplitBase sourceSplit, Offset watermark, WatermarkKind watermarkKind)  
      io.debezium.connector.base.ChangeEventQueue<io.debezium.pipeline.DataChangeEvent> getQueue()  
      • Methods inherited from class io.debezium.pipeline.EventDispatcher

        alwaysDispatchHeartbeatEvent, close, dispatchConnectorEvent, dispatchDataChangeEvent, dispatchFilteredEvent, dispatchHeartbeatEvent, dispatchServerHeartbeatEvent, dispatchSnapshotEvent, dispatchTransactionCommittedEvent, dispatchTransactionStartedEvent, errorOnMissingSchema, getHistorizedSchema, getIncrementalSnapshotChangeEventReceiver, getIncrementalSnapshotChangeEventSource, getSchema, getSnapshotChangeEventReceiver, heartbeatsEnabled, ignoreMissingSchema, setEventListener, setIncrementalSnapshotChangeEventSource
    • Constructor Detail

      • JdbcSourceEventDispatcher

        public JdbcSourceEventDispatcher​(io.debezium.config.CommonConnectorConfig connectorConfig,
                                         io.debezium.schema.TopicSelector<io.debezium.relational.TableId> topicSelector,
                                         io.debezium.schema.DatabaseSchema<io.debezium.relational.TableId> schema,
                                         io.debezium.connector.base.ChangeEventQueue<io.debezium.pipeline.DataChangeEvent> queue,
                                         io.debezium.schema.DataCollectionFilters.DataCollectionFilter<io.debezium.relational.TableId> filter,
                                         io.debezium.pipeline.spi.ChangeEventCreator changeEventCreator,
                                         io.debezium.pipeline.source.spi.EventMetadataProvider metadataProvider,
                                         io.debezium.util.SchemaNameAdjuster schemaNameAdjuster,
                                         SchemaChangeEventHandler schemaChangeEventHandler)
    • Method Detail

      • getQueue

        public io.debezium.connector.base.ChangeEventQueue<io.debezium.pipeline.DataChangeEvent> getQueue()
      • dispatchSchemaChangeEvent

        public void dispatchSchemaChangeEvent​(P partition,
                                              io.debezium.relational.TableId dataCollectionId,
                                              io.debezium.pipeline.spi.SchemaChangeEventEmitter schemaChangeEventEmitter)
                                       throws InterruptedException
        Overrides:
        dispatchSchemaChangeEvent in class io.debezium.pipeline.EventDispatcher<P extends io.debezium.pipeline.spi.Partition,​io.debezium.relational.TableId>
        Throws:
        InterruptedException
      • dispatchSchemaChangeEvent

        public void dispatchSchemaChangeEvent​(Collection<io.debezium.relational.TableId> dataCollectionIds,
                                              io.debezium.pipeline.spi.SchemaChangeEventEmitter schemaChangeEventEmitter)
                                       throws InterruptedException
        Overrides:
        dispatchSchemaChangeEvent in class io.debezium.pipeline.EventDispatcher<P extends io.debezium.pipeline.spi.Partition,​io.debezium.relational.TableId>
        Throws:
        InterruptedException