gpt4 book ai didi

java - Activiti BPM 在任务中获取变量

转载 作者:搜寻专家 更新时间:2023-11-01 02:12:55 26 4
gpt4 key购买 nike

是否可以使用 TaskService 获取所有流程或任务变量:

processEngine.getTaskService.createTaskQuery().list();

我知道有机会通过processEngine.getTaskService().getVariable()

processEngine.getRuntimeService().getVariable()

但是上面的每一个操作都进入了数据库。如果我有 100 个任务的列表,我将对 DB 进行 100 个查询。我不想使用这种方法。有没有其他方法可以获取任务或流程相关的变量?

最佳答案

不幸的是,没有办法通过“官方”查询 API 来做到这一点!但是,您可以按照此处所述编写自定义 MyBatis 查询:

https://app.camunda.com/confluence/display/foxUserGuide/Performance+Tuning+with+custom+Queries(注意:本文中描述的所有内容也适用于裸 Activiti,您不需要 fox 引擎!)

这样您就可以编写一个查询,一步选择任务和变量。在我的公司,我们使用了这个解决方案,因为我们遇到了完全相同的性能问题。

此解决方案的缺点是需要维护自定义查询。例如,如果您升级您的 Activiti 版本,您将需要确保您的自定义查询仍然适合数据库模式(例如,通过集成测试)。

关于java - Activiti BPM 在任务中获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13881024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com