Interface ResumeStrategy

  • All Superinterfaces:
    AutoCloseable, Service

    public interface ResumeStrategy
    extends Service
    Defines a strategy for handling resume operations. Implementations can define different ways to handle how to resume processing records.
    • Method Detail

      • setAdapter

        void setAdapter​(ResumeAdapter adapter)
        Sets an adapter for resuming operations with this strategy
        Parameters:
        adapter - the component-specific resume adapter
      • getAdapter

        ResumeAdapter getAdapter()
        Gets an adapter for resuming operations
      • getAdapter

        default <T extends ResumeAdapter> T getAdapter​(Class<T> clazz)
        Gets and adapter for resuming operations
        Type Parameters:
        T - the type of the adapter
        Parameters:
        clazz - the class of the adapter
        Returns:
        the adapter or null if it can't be cast to the requested class
      • loadCache

        default void loadCache()
                        throws Exception
        Loads the cache with the data currently available in this strategy
        Throws:
        Exception
      • updateLastOffset

        <T extends Resumable> void updateLastOffset​(T offset)
                                             throws Exception
        Updates the last processed offset
        Parameters:
        offset - the offset to update
        Throws:
        Exception - if unable to update the offset
      • updateLastOffset

        <T extends Resumable> void updateLastOffset​(T offset,
                                                    ResumeStrategy.UpdateCallBack updateCallBack)
                                             throws Exception
        Updates the last processed offset
        Parameters:
        offset - the offset to update
        updateCallBack - a callback to be executed after the updated has occurred (null if not available)
        Throws:
        Exception - if unable to update the offset
      • updateLastOffset

        void updateLastOffset​(OffsetKey<?> offsetKey,
                              Offset<?> offsetValue)
                       throws Exception
        Updates the last processed offset
        Parameters:
        offsetKey - the offset key to update
        offsetValue - the offset value to update
        Throws:
        Exception - if unable to update the offset
      • updateLastOffset

        void updateLastOffset​(OffsetKey<?> offsetKey,
                              Offset<?> offset,
                              ResumeStrategy.UpdateCallBack updateCallBack)
                       throws Exception
        Updates the last processed offset
        Parameters:
        offsetKey - the offset key to update
        offset - the offset value to update
        updateCallBack - a callback to be executed after the updated has occurred (null if not available)
        Throws:
        Exception - if unable to update the offset