Interface StreamingChangeEventSource<P extends Partition,​O extends OffsetContext>

    • Method Detail

      • execute

        void execute​(ChangeEventSource.ChangeEventSourceContext context,
                     P partition,
                     O offsetContext)
              throws InterruptedException
        Executes this source. Implementations should regularly check via the given context if they should stop. If that's the case, they should abort their processing and perform any clean-up needed, such as rolling back pending transactions, releasing locks etc.
        Parameters:
        context - contextual information for this source's execution
        partition - the source partition from which the changes should be streamed
        offsetContext -
        Throws:
        InterruptedException - in case the snapshot was aborted before completion
      • executeIteration

        default boolean executeIteration​(ChangeEventSource.ChangeEventSourceContext context,
                                         P partition,
                                         O offsetContext)
                                  throws InterruptedException
        Executes this source for a single execution iteration. This is useful for iterating over multiple partitions and performing an action if events were processed. For example, pausing a connector once no events were produced after iterating over all partitions. Implementations should regularly check via the given context if they should stop. If that's the case, they should abort their processing and perform any clean-up needed, such as rolling back pending transactions, releasing locks etc.
        Parameters:
        context - contextual information for this source's execution
        partition - the source partition from which the changes should be streamed
        offsetContext -
        Returns:
        true if events were processed during the iteration or false otherwise.
        Throws:
        InterruptedException - in case the snapshot was aborted before completion
      • commitOffset

        default void commitOffset​(Map<String,​?> offset)
        Commits the given offset with the source database. Used by some connectors like Postgres and Oracle to indicate how far the source TX log can be discarded.