public interface ConnectRestExtension extends Configurable, Versioned, java.io.Closeable
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.
Modifier and Type | Method and Description |
---|---|
void |
register(ConnectRestExtensionContext restPluginContext)
ConnectRestExtension implementations can register custom JAX-RS resources via the
register(ConnectRestExtensionContext)
method. |
configure
void register(ConnectRestExtensionContext restPluginContext)
register(ConnectRestExtensionContext)
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 be ignored and will be logged.restPluginContext
- The context provides access to JAX-RS Configurable
and ConnectClusterState
.The custom JAX-RS resources can be registered via the ConnectRestExtensionContext.configurable()