Interface SourceTaskContext


public interface SourceTaskContext
SourceTaskContext is provided to SourceTasks to allow them to interact with the underlying runtime.
  • Method Details

    • configs

      Map<String,String> configs()
      Get the Task configuration. This is the latest configuration and may differ from that passed on startup.

      For example, this method can be used to obtain the latest configuration if an external secret has changed, and the configuration is using variable references such as those compatible with ConfigTransformer.

    • offsetStorageReader

      OffsetStorageReader offsetStorageReader()
      Get the OffsetStorageReader for this SourceTask.
    • transactionContext

      default TransactionContext transactionContext()
      Get a TransactionContext that can be used to define producer transaction boundaries when exactly-once support is enabled for the connector.

      This method was added in Apache Kafka 3.2. Source tasks that use this method but want to maintain backward compatibility so they can also be deployed to older Connect runtimes should guard the call to this method with a try-catch block, since calling this method will result in a NoSuchMethodError or NoClassDefFoundError when the source connector is deployed to Connect runtimes older than Kafka 3.2. For example:

           TransactionContext transactionContext;
           try {
               transactionContext = context.transactionContext();
           } catch (NoSuchMethodError | NoClassDefFoundError e) {
               transactionContext = null;
           }
       
      Returns:
      the transaction context, or null if the connector was not configured to specify transaction boundaries
      Since:
      3.3