Java 调用方式
对于内置流程引擎的应用, 可以在流程流转时调用 Java 逻辑, 最主要有三种形式的 Java 调用方式:
- Java Delegate: Service Task 组件如选择 Java class, 即是 Java Delegate, 该类需要实现
JavaDelegate接口 - Execution Listener: 几乎所有组件可以增加 Execution Listener, 有 start 和 end 两个触发点, 该 Java 类需要实现
ExecutionListner接口 - Task Listener: 对于 User task 组件可以增加 Task Listener, 有 create/assignment/complete/delete/update/timeout 等多个触发点, 该 Java 类需要实现
TaskListener接口, Task Listener 要比 Execution Listener 提供更详细的 runtime 信息.
代码范式
三种 Java 调用方式的代码实现类似, 都是实现指定的接口, 在代码中也遵循同样代码范式, 常用到的代码片段有:
- 抛出Bpmn异常
- 在执行过程中为 process设置更有意义的Business Key
- 获取ProcessEngine和几个主要的服务, 完成更多操作.
public void execute(DelegateExecution execution) throws Exception {
ProcessEngine engine = execution.getProcessEngine();
RepositoryService repService = engine.getRepositoryService();
RuntimeService runtimeService = engine.getRuntimeService();
FormService formService = engine.getFormService();
HistoryService historyService = engine.getHistoryService();
TaskService taskService = engine.getTaskService();
ManagementService managementService = engine.getManagementService();
execution.setProcessBusinessKey("some key");
throw new BpmnError("some error");
}
本文介绍了在内置流程引擎应用中通过三种不同的Java调用方式:JavaDelegate、ExecutionListener和TaskListener来扩展业务流程的方法。这些调用方式允许开发者在流程的不同阶段注入自定义逻辑。
2986

被折叠的 条评论
为什么被折叠?



