在activit中设置进程执行的进程ID

时间:2016-11-14 10:46:07

标签: activiti bpmn

是否可以在activiti中自行设置processID?

我需要使用不同的软件对其进行监控,因此我需要启动流程的ID才能启动流程。

try{
                processId = runtimeService.startProcessInstanceByKey(jobsModuleName.toString(), processVariables).getId();
            }catch (Exception e){
                LOG.error(e, "No Processdefinition found with this Identifier");
            }

这是启动过程的调用知道。我从进程中获取了id,但我想在开始进程之前设置processID。

1 个答案:

答案 0 :(得分:0)

使用DbIdGenerator或StrongUuidGenerator类(您在引擎配置类上选择配置)生成Process Instance ID。没有什么可以阻止您创建自定义ID生成器,但请记住,它必须在任何和所有实例中生成唯一ID。

虽然我不知道您的确切用例,但我可能不会更改ID,而是使用Business Key。业务密钥旨在注入并充当用户可配置的元数据。可以按业务键搜索实例和任务,与ID完全相同,因为它们都是支持表中的唯一列。

您可以在此处阅读有关业务密钥的信息:

Vaadin Spring tutorial

希望这有帮助, 格雷格