首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bonita不要等待Bonita的功能结束

Bonita不要等待Bonita的功能结束
EN

Stack Overflow用户
提问于 2017-10-12 16:18:27
回答 1查看 218关注 0票数 0

我正在创建一个使用Bonita的JAVA应用程序,我使用以下简单代码:

代码语言:javascript
复制
ProcessInstance processInstance = App.getProcessAPI().startProcess(App.getProcessDefinitionId(),App.getListOperation(), listVariablesSerializable);
processId = processInstance.getId();
Thread.sleep(1000);
App.getBuilder().filter(ProcessInstanceSearchDescriptor.STARTED_BY, App.getAPISession().getUserId());
App.setPendingTasks(0, 30, null);

此代码启动一个新进程并将新任务设置为用户。但只适用于Thread.sleep(1000),因为App.setPendingTasks(0, 30, null)不希望等待App.getProcessAPI().startProcess(App.getProcessDefinitionId(),App.getListOperation(), listVariablesSerializable);结束。

我知道Thread.sleep(1000)不是一个好的编程实践,我需要另一个解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-13 15:17:14

很明显,在创建实例时和将实例的详细信息保存到数据库之间,您正在经历一种竞争状态。

因为您从start命令返回了ProcessInstance。为什么不直接使用ProcessAPI检索实例的活动(任务)?

代码语言:javascript
复制
List<ActivityInstance> activities = App.getProcessAPI().getActivities(processId, 0, 10);

这个API应该使用当前的进程状态,而不是查询数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46714438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档