我正在为Camunda的流程引擎实现一个插件。
这是一个简化的例子:
public class FooPlugin implements ProcessEnginePlugin {
public void preInit(ProcessEngineConfigurationImpl processEngineConfiguration) {
// Create a connection that needs to be closed
Connection connection = //...
// Where to put this code: `connection.close()`?
}
public void postInit(ProcessEngineConfigurationImpl processEngineConfiguration) {
}
public void postProcessEngineBuild(ProcessEngine processEngine) {
}
}
当camunda(或应用程序服务器)关闭时,是否有可以使用的钩子?
答案 0 :(得分:0)
如果您使用的是ProcessApplication,则还需要添加ònPOstDeployand
onPreUndeploy`钩子。后者应该做你需要的。
使用camunda弹簧靴时,您可以通过
@EventListener
public void on(PreUndeployEvent ev) {...}
对于其他容器或SE,您将以某种方式扩展AbstractProcessApplication类并覆盖该方法。