是否可以在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。
答案 0 :(得分:0)
使用DbIdGenerator或StrongUuidGenerator类(您在引擎配置类上选择配置)生成Process Instance ID。没有什么可以阻止您创建自定义ID生成器,但请记住,它必须在任何和所有实例中生成唯一ID。
虽然我不知道您的确切用例,但我可能不会更改ID,而是使用Business Key。业务密钥旨在注入并充当用户可配置的元数据。可以按业务键搜索实例和任务,与ID完全相同,因为它们都是支持表中的唯一列。
您可以在此处阅读有关业务密钥的信息:
希望这有帮助, 格雷格