对于流程定义中的每个任务节点,我想动态(以编程方式)向每个任务节点添加自转换(从同一节点转换到同一节点)。您能告诉我这可以作为 JBPM v3.2 的一部分来完成吗?如果我选择这种方法,是否会出现任何问题?

有帮助吗?

解决方案

您不需要动态地执行此操作。您可以直接在您的工作流程中执行此操作。

你的动态是什么意思?当您正在部署工作流程时或已经在处理它时?

如果是在部署时,在调用deployProcessDefinition方法之前,您可以获取将要部署的xml并在部署之前对其进行编辑。

如果您已经在处理,我可以想到两种可能的选择:

  1. 如果您希望在进行自我转换时创建任务的新实例,则需要在数据库中进行一些修改以更改已部署的工作流程;
  2. 如果可以使用任务的同一实例,则可以更改 Transition.take 方法,以便在转换到同一任务时不传播事件。

对于这两个选项,您应该注意 ProcessLog 的问题。我不知道 JBPM 在为并不存在的转换编写日志时是否会遇到问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top