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 Details