Flowable 7.0.0是Flowable引擎的第一个稳定版本,专注于Spring Boot 3、Spring 6和Java 17的升级。REST应用程序要求使用支持Jakarta 9的servlet容器/应用服务器。此版本重点关注BPMN、CMMN、DMN和事件注册引擎的主Flowable引擎和REST API。这意味着没有UI应用程序、内容和表单引擎,以及Mule和其他一些模块被移除。

新特性与改进

  • 支持CMMN案例的批量迁移:允许用户批量迁移CMMN案例定义。
  • 支持案例重新激活的重复执行:增强了案例重新激活的能力,使其可以重复执行。
  • 支持停止内务处理批处理:用户现在可以控制内务处理批处理的停止。
  • HTTP任务支持HEAD和OPTIONS方法:HTTP任务现在支持HEADOPTIONSHTTP方法。
  • 去除废弃的Spring Boot Starter:原有的flowable-spring-boot-starter-basic应替换为flowable-spring-boot-starter-processflowable-spring-boot-starter-rest-api应替换为flowable-spring-boot-starter-process-rest
  • 引入Flowable BOM:添加了一个包含所有Flowable构件的BOM(Bill of Materials)文件。
  • 动态Kafka消息键支持:增强了Kafka集成,支持动态消息键。
  • CMMN任务服务中的TaskCompletionBuilder:新增了TaskCompletionBuilder,以改进CMMN任务的完成过程。
  • 错误事件的自定义输入参数支持:支持为错误开始和边界事件处理自定义输入参数,并在错误结束事件中传递额外数据。
  • 任务完成者的变量存储:允许将任务完成者的标识存储为变量。
  • 邮件任务中支持字符串或JSON数组收件人:邮件任务现在可以接收字符串或JSON数组形式的收件人列表。
  • Spring Boot 3.1升级:Flowable 7.0.0升级到了Spring Boot 3.1版本。
  • Camel 4和CXF 4升级:Flowable 7.0.0升级到了Camel 4和CXF 4版本。
  • FlowableMailClient抽象:提供了一个用于发送邮件的抽象接口FlowableMailClient
  • 使用Jakarta Mail API:使用Jakarta Mail API替代Javax Mail API,并替换了Apache Commons Email为Eclipse Angus Mail。

已移除的特性

  • 消息驱动的执行器移除:不再支持消息驱动的执行器。
  • 部分废弃代码移除:删除了一些Flowable中已被标记为废弃的代码。
  • API变更:多个API方法被重命名或移除,例如CmmnRepositoryService#getDecisionTablesForCaseDefinition变更为CmmnRepositoryService#getDecisionsForCaseDefinition
  • 历史记录异步支持移除:如果之前使用了异步历史记录功能,请确保在升级前没有遗留的异步历史作业。

  • This is the first stable release for version 7 of the Flowable Engines focusing on the Spring Boot 3, Spring 6 and Java 17 upgrade.
  • The REST application requires a servlet container / application server that supports Jakarta 9.
  • This release focuses on the main Flowable Engines and REST APIs for the BPMN, CMMN, DMN and event registry engines. This means that there are no UI applications, no content and form engines and the modules for Mule and some others are removed.
  • Blog post with more information about the Flowable 7 release Flowable Open Source 7.0.0 Release
  • Support batch migration for CMMN
  • Repetition support for case reactivation
  • Support for stopping housekeeping batch
  • Support for HTTP HEAD and OPTIONS for the Http Tasks
  • Remove relocated Spring Boot Starters
    • flowable-spring-boot-starter-basic - flowable-spring-boot-starter-process should be used instead
    • flowable-spring-boot-starter-rest-api - flowable-spring-boot-starter-process-rest should be used instead
  • Add flowable-bom with all the Flowable artifacts
  • Support for dynamic Kafka message key
  • Add TaskCompletionBuilder to CmmnTaskService
  • Add support for handling custom input parameters for error start and boundary events and for passing additional data in error end events
  • Add ability to store completer of human and user tasks in a variable
  • Support collection of string or json array as mail recipients in Mail Tasks
  • Upgrade to Spring Boot 3.1
  • Upgrade to Camel 4
  • Upgrade to CXF 4
  • Provide an abstraction for sending emails through a FlowableMailClient
  • Use Jakarta Mail instead of Javax Mail and replace Apache Commons Email with Eclipse Angus Mail
  • Remove message based executor
  • Remove some Flowable deprecated code
    • CmmnRepositoryService#getDecisionTablesForCaseDefinition - use CmmnRepositoryService#getDecisionsForCaseDefinition instead
    • RepositoryService#getDecisionTablesForProcessDefinition - use RepositoryService#getDecisionsForProcessDefinition instead
    • HistoricCaseInstanceQuery#limitCaseVariables - no replacement it was a noop
    • CaseInstanceQuery#limitCaseInstanceVariables - no replacement it was a noop
    • HistoricProcessInstanceQuery#limitProcessInstanceVariables - no replacement it was a noop
    • ProcessInstanceQuery#limitProcessInstanceVariables - no replacement it was a noop
    • TaskInfoQuery#limitTaskVariables - no replacement it was a noop
    • Removed query limit configurations from CmmnEngineConfiguration and ProcessEngineConfigurationImpl
    • Removed HistoryManager#recordActivityEnd - no replacement, Flowable was never calling that method
    • Removed org.flowable.engine.FlowableTaskAlreadyClaimedException - use org.flowable.common.engine.api.FlowableTaskAlreadyClaimedException instead
    • Removed org.flowable.engine.cfg.MailServerInfo - use org.flowable.common.engine.impl.cfg.mail.MailServerInfo instead
    • Removed org.flowable.http.HttpRequest - use org.flowable.http.common.api.HttpRequest instead
    • Removed org.flowable.http.HttpResponse - use org.flowable.http.common.api.HttpResponse instead
    • Removed org.flowable.http.delegate.HttpRequestHandler - use org.flowable.http.common.api.delegate.HttpRequest instead
    • Removed org.flowable.http.delegate.HttpResponseHandler - use org.flowable.http.common.api.delegate.HttpResponse instead
    • Removed org.flowable.identitylink.service.IdentityLinkType - use org.flowable.identitylink.api.IdentityLinkType instead
    • Removed ManagedAsyncJobExecutor - configure the thread factory in the engine configuration
    • Removed org.flowable.spring.SpringCallerRunsRejectedJobsHandler - use org.flowable.spring.job.service.SpringCallerRunsRejectedJobsHandler instead
    • Removed org.flowable.spring.SpringRejectedJobsHandler - use org.flowable.spring.job.service.SpringRejectedJobsHandler instead
  • Remove async history support. In case you were using async history, make sure that you have no async history jobs before starting the new version
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐