对于流程定义中的每个任务节点,我想动态(以编程方式)向每个任务节点添加自转换(从同一节点转换到同一节点)。您能告诉我这可以作为 JBPM v3.2 的一部分来完成吗?如果我选择这种方法,是否会出现任何问题?
最佳答案
您不需要动态地执行此操作。您可以直接在工作流程中执行此操作。
你的动态是什么意思?当您正在部署工作流程时还是已经在处理它时?
如果是在部署时,在调用deployProcessDefinition方法之前,您可以获取将要部署的xml并在部署之前对其进行编辑。
如果您已经在处理,我可以想到两种可能的选择:
- 如果您希望在进行 self 转换时创建任务的新实例,则需要在数据库中进行一些修改以更改已部署的工作流程;
- 如果可以使用任务的同一实例,您可以更改 Transition.take 方法,以便在转换到同一任务时不传播事件。
对于这两个选项,您应该注意 ProcessLog 的问题。我不知道 JBPM 在为并不存在的转换编写日志时是否会出现问题。
关于java - 我可以在 jbpm v3.2 中向任务节点添加运行时转换吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3923821/