Interface ConnectRestExtension

All Superinterfaces:
AutoCloseable, Closeable, Configurable, Versioned

public interface ConnectRestExtension extends Configurable, Versioned, Closeable
A plugin interface to allow registration of new JAX-RS resources like Filters, REST endpoints, providers, etc. The implementations will be discovered using the standard Java ServiceLoader mechanism by Connect's plugin class loading mechanism.

The extension class(es) must be packaged as a plugin, with one JAR containing the implementation classes and a META-INF/services/org.apache.kafka.connect.rest.extension.ConnectRestExtension file that contains the fully qualified name of the class(es) that implement the ConnectRestExtension interface. The plugin should also include the JARs of all dependencies except those already provided by the Connect framework.

To install into a Connect installation, add a directory named for the plugin and containing the plugin's JARs into a directory that is on Connect's plugin.path, and (re)start the Connect worker.

When the Connect worker process starts up, it will read its configuration and instantiate all of the REST extension implementation classes that are specified in the `rest.extension.classes` configuration property. Connect will then pass its configuration to each extension via the Configurable.configure(Map) method, and will then call register(org.apache.kafka.connect.rest.ConnectRestExtensionContext) with a provided context.

When the Connect worker shuts down, it will call the extension's Closeable.close() method to allow the implementation to release all of its resources.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    ConnectRestExtension implementations can register custom JAX-RS resources via this method.

    Methods inherited from interface java.io.Closeable

    close

    Methods inherited from interface org.apache.kafka.common.Configurable

    configure

    Methods inherited from interface org.apache.kafka.connect.components.Versioned

    version
  • Method Details

    • register

      void register(ConnectRestExtensionContext restPluginContext)
      ConnectRestExtension implementations can register custom JAX-RS resources via this method. The Connect framework will invoke this method after registering the default Connect resources. If the implementations attempt to re-register any of the Connect resources, it will be ignored and will be logged.
      Parameters:
      restPluginContext - The context provides access to JAX-RS Configurable and ConnectClusterState.The custom JAX-RS resources can be registered via the ConnectRestExtensionContext.configurable()