Class SourceConnector

java.lang.Object
org.apache.kafka.connect.connector.Connector
org.apache.kafka.connect.source.SourceConnector
All Implemented Interfaces:
Versioned

public abstract class SourceConnector extends Connector
SourceConnectors implement the connector interface to pull data from another system and send it to Kafka.
  • Constructor Details

    • SourceConnector

      public SourceConnector()
  • Method Details

    • context

      protected SourceConnectorContext context()
      Description copied from class: Connector
      Returns the context object used to interact with the Kafka Connect runtime.
      Overrides:
      context in class Connector
      Returns:
      the context for this Connector.
    • exactlyOnceSupport

      public ExactlyOnceSupport exactlyOnceSupport(Map<String,String> connectorConfig)
      Signals whether the connector supports exactly-once semantics with a proposed configuration. Connector authors can assume that worker-level exactly-once support is enabled when this method is invoked.

      For backwards compatibility, the default implementation will return null, but connector authors are strongly encouraged to override this method to return a non-null value such as SUPPORTED or UNSUPPORTED.

      Similar to validate, this method may be called by the runtime before the start method is invoked when the connector will be run with exactly-once support.

      Parameters:
      connectorConfig - the configuration that will be used for the connector.
      Returns:
      ExactlyOnceSupport.SUPPORTED if the connector can provide exactly-once support with the given configuration, and ExactlyOnceSupport.UNSUPPORTED if it cannot. If this method is overridden by a connector, should not be null, but if null, it will be assumed that the connector cannot provide exactly-once semantics.
      Since:
      3.3
    • canDefineTransactionBoundaries

      public ConnectorTransactionBoundaries canDefineTransactionBoundaries(Map<String,String> connectorConfig)
      Signals whether the connector implementation is capable of defining the transaction boundaries for a connector with the given configuration. This method is called before Connector.start(Map), only when the runtime supports exactly-once and the connector configuration includes transaction.boundary=connector.

      This method need not be implemented if the connector implementation does not support defining transaction boundaries.

      Parameters:
      connectorConfig - the configuration that will be used for the connector
      Returns:
      ConnectorTransactionBoundaries.SUPPORTED if the connector will define its own transaction boundaries, or ConnectorTransactionBoundaries.UNSUPPORTED otherwise; may never be null. The default implementation returns ConnectorTransactionBoundaries.UNSUPPORTED.
      Since:
      3.3
      See Also: