Camunda中的ProcessEnginePlugin是否有关闭钩子?

时间:2018-04-19 18:33:17

标签: camunda

我正在为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(或应用程序服务器)关闭时,是否有可以使用的钩子?

1 个答案:

答案 0 :(得分:0)

如果您使用的是ProcessApplication,则还需要添加ònPOstDeployand onPreUndeploy`钩子。后者应该做你需要的。 使用camunda弹簧靴时,您可以通过

收听事件
@EventListener
public void on(PreUndeployEvent ev) {...}

对于其他容器或SE,您将以某种方式扩展AbstractProcessApplication类并覆盖该方法。