Class EventDispatcherImpl<T extends io.debezium.schema.DataCollectionId>

  • All Implemented Interfaces:
    AutoCloseable

    public class EventDispatcherImpl<T extends io.debezium.schema.DataCollectionId>
    extends io.debezium.pipeline.EventDispatcher<io.debezium.connector.mysql.MySqlPartition,​T>
    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
      EventDispatcherImpl​(io.debezium.config.CommonConnectorConfig connectorConfig, io.debezium.schema.TopicSelector<T> topicSelector, io.debezium.schema.DatabaseSchema<T> schema, io.debezium.connector.base.ChangeEventQueue<io.debezium.pipeline.DataChangeEvent> queue, io.debezium.schema.DataCollectionFilters.DataCollectionFilter<T> filter, io.debezium.pipeline.spi.ChangeEventCreator changeEventCreator, io.debezium.pipeline.source.spi.EventMetadataProvider metadataProvider, io.debezium.util.SchemaNameAdjuster schemaNameAdjuster)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispatchSchemaChangeEvent​(io.debezium.connector.mysql.MySqlPartition partition, T dataCollectionId, io.debezium.pipeline.spi.SchemaChangeEventEmitter schemaChangeEventEmitter)  
      void dispatchSchemaChangeEvent​(Collection<T> dataCollectionIds, io.debezium.pipeline.spi.SchemaChangeEventEmitter schemaChangeEventEmitter)  
      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

      • EventDispatcherImpl

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

      • getQueue

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

        public void dispatchSchemaChangeEvent​(io.debezium.connector.mysql.MySqlPartition partition,
                                              T dataCollectionId,
                                              io.debezium.pipeline.spi.SchemaChangeEventEmitter schemaChangeEventEmitter)
                                       throws InterruptedException
        Overrides:
        dispatchSchemaChangeEvent in class io.debezium.pipeline.EventDispatcher<io.debezium.connector.mysql.MySqlPartition,​T extends io.debezium.schema.DataCollectionId>
        Throws:
        InterruptedException
      • dispatchSchemaChangeEvent

        public void dispatchSchemaChangeEvent​(Collection<T> dataCollectionIds,
                                              io.debezium.pipeline.spi.SchemaChangeEventEmitter schemaChangeEventEmitter)
                                       throws InterruptedException
        Overrides:
        dispatchSchemaChangeEvent in class io.debezium.pipeline.EventDispatcher<io.debezium.connector.mysql.MySqlPartition,​T extends io.debezium.schema.DataCollectionId>
        Throws:
        InterruptedException