外部工作者任务已添加到BPMN和CMMN引擎中。这是一个新的范例,可用于在BPMN和CMMN引擎之外执行服务逻辑。
在本版本发布之前,这可以通过将工作推送到另一个服务来完成,比如使用HTTP任务或使用事件注册表任务发送事件。
外部工作者任务可用于从BPMN和CMMN引擎中提取工作 (项目fhadmin.cn)。
这意味着,用任何语言编写的服务都可以通过专用的外部worker restapi拉取打开的外部worker任务,然后执行工作,最后完成worker任务以将流程或案例的状态移动到下一个状态。
增加了对未来Java委托的支持,以支持实际并行运行服务任务和HTTP任务。在此版本之前,具有多个到服务任务的传出序列流的并行网关并没有真正并行地运行同步服务任务,它们仍然是按顺序执行的。当这些服务任务被设置为异步且非独占时,它们将由异步执行器并行执行,但也会在不同的事务中执行。有了新的未来服务任务支持,现在可以在同一事务中并行运行同步服务任务。服务任务在线程池上并行执行,未来将等待所有服务任务完成。更多信息可以在这篇博文中找到
向作业添加了类别属性,以便能够区分不同的作业组。这也可用于在BPMN或CMMN引擎中仅执行特定的作业类别。
例如,通过这种方式,可以将使用相同数据库的嵌入式可流动引擎的不同微服务配置为仅执行定义的类别列表中的作业。
当重试次数用尽时,历史作业现在移动到死信作业表。这样可以确保历史记录作业始终保存在数据库中。
从可流动引擎的CommandContextUtil类中删除了获取当前引擎配置,因为在使用多个引擎的应用程序中,无法保证返回正确的引擎配置。
现在,当在表达式、脚本、委托类或Springbean中更新时,可以跟踪JSON变量的更改。这意味着在更新委托类中的customer.name等属性时,customer JSON变量现在将自动更新。
扩展了实体链接支持,还记录了父实体链接,例如子流程中任务的父流程。
当通过BPMN、CMMN或DMN存储库服务进行部署时,所创建的部署将根据其自己的部署id设置父部署id。
已删除FlowableExpressionEnhancer。我们已经调整了表达式解析,因此现在在表达式树构建过程中增强了函数。这是一个较低级别的api,使用新的FlowableAstFunctionCreator。