Kettle Lifecycle Plugin
The Kettle Lifecycle Plugin is provided as a way for your plugin to be notified upon Kettle Environment initialization and termination. This gives a plugin a chance to initialize at Kettle Environment initialization time.
Plugin Callbacks
A Kettle lifecycle listener plugin's callbacks will be executed at the following times:
- KettleLifecycleListener.onEnvironmentInit(): During KettleEnvironment.init(), after plugins have been loaded but before the initialization flag has been set on KettleEnvironment. Throwing a severe LifecycleException during onEnvironmentInit() will prevent the Kettle Environment from initializing.
- KettleLifecycleListener.onEnvironmentShutdown(): During JVM termination (specifically a Runtime shutdown hook). Throwing an exception from this method will have no effect.
Writing your plugin
A Kettle Lifecycle Listener Plugin may only be defined by annotation:
@KettleLifecyclePlugin(id="SampleKettleLifecyclePlugin", name="My First Kettle Environment Lifecycle Plugin") public class SampleKettleLifecyclePlugin implements KettleLifecycleListener { @Override public void onEnvironmentInit() throws LifecycleException { System.out.println("SampleKettleLifecyclePlugin: Kettle Environment is initializing and I'm loaded!"); } @Override public void onEnvironmentShutdown() { System.out.println("SampleKettleLifecyclePlugin: Kettle Environment shutting down!"); } }