Camunda 引擎 - 在新部署上执行自定义代码
Camunda Engine - Execute custom code on new deployment
我正在 JBoss 服务器上使用 camunda 引擎。如果部署了新的(版本的)BPMN 图表,我会搜索一种执行自定义代码的方法。
我想要的:
- Add/Upload新进程
- 运行自动自定义代码
- 按引擎部署新进程
是否存在检测到新部署时将执行的侦听器或类似的东西?
感谢帮助!
这里需要用到的是"BPMN Parse Listener".
Camunda 在此处提供了一个很好的示例来说明如何设置解析侦听器:
Parse Handlers 的初衷是自动将任务或执行侦听器添加到流程模型。你为什么这么做?
一个例子是,如果您自动希望所有用户在分配任务时收到电子邮件通知(一个非常常见的用例)。麻烦的是,将其建模到流程中确实会弄乱流程图。所以...我们使用 ParseListener 自动注入行为。
现在,这对您的用例有何帮助?
答案很简单。它使您可以访问模型部署操作。
每次部署新模型时,BPMN 都是 "parsed" 并且任何已注册的 ParseListeners 都会被触发。
在您的情况下,您将绑定到 "parseProcess()" 方法并执行您的自定义代码。
我建议您使用服务调用并将自定义逻辑外部化,以便对逻辑的调用和逻辑的执行进行抽象,但这取决于您。
虽然这是一个不常见的用例,但这实际上是 BpmnParseListeners 的一个非常好的用例。
希望这对您有所帮助。
格雷格
我正在 JBoss 服务器上使用 camunda 引擎。如果部署了新的(版本的)BPMN 图表,我会搜索一种执行自定义代码的方法。
我想要的:
- Add/Upload新进程
- 运行自动自定义代码
- 按引擎部署新进程
是否存在检测到新部署时将执行的侦听器或类似的东西?
感谢帮助!
这里需要用到的是"BPMN Parse Listener".
Camunda 在此处提供了一个很好的示例来说明如何设置解析侦听器:
Parse Handlers 的初衷是自动将任务或执行侦听器添加到流程模型。你为什么这么做? 一个例子是,如果您自动希望所有用户在分配任务时收到电子邮件通知(一个非常常见的用例)。麻烦的是,将其建模到流程中确实会弄乱流程图。所以...我们使用 ParseListener 自动注入行为。
现在,这对您的用例有何帮助?
答案很简单。它使您可以访问模型部署操作。 每次部署新模型时,BPMN 都是 "parsed" 并且任何已注册的 ParseListeners 都会被触发。
在您的情况下,您将绑定到 "parseProcess()" 方法并执行您的自定义代码。
我建议您使用服务调用并将自定义逻辑外部化,以便对逻辑的调用和逻辑的执行进行抽象,但这取决于您。
虽然这是一个不常见的用例,但这实际上是 BpmnParseListeners 的一个非常好的用例。
希望这对您有所帮助。 格雷格