SpringBoot+flowable快速实现工作流(附源码)

什么是flowable?
对于flowable是什么以及关于此框架的具体信息可以参看此项目的官方文档:
https://www.flowable.org/docs/userguide/index.html

官网对于此项目如何使用有非常详细的描述,只是目前还没有对应的中文文档。

Flowable is a light-weight business process engine written in Java.
这是官网文档对此框架的完美解释:Flowable是一个用java语言写的轻量级工作流引擎。

在简单了解flowable后与activiti框架相比的第一感觉就是开发方便快速,易与springBoot等各种框架快速整合。如果项目中需要快速实现一些工作流的相关功能那么用此框架是一个不错的选择。
使用版本

用测试方便,这里都使用springBoot和flowable最新的稳定版本
springBoot版本:2.0.1.RELEASE
flowable版本:6.3.0

Flowable与springBoot项目整合
添加依赖
将flowable的依赖加入到POM中即可,flowable使用需要一个数据库,这里为了方便我选择mysql

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--flowable工作流依赖-->
    <dependency>
        <groupId>org.flowable</groupId>
        <artifactId>flowable-spring-boot-starter</artifactId>
        <version>6.6.0</version>
    </dependency>
    <!--mysql依赖-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>runtime</version>
    </dependency>
</dependencies>

flowable配置
测试方便flowable配置为默认的即可。为了测试时方便看日志信息,我这里将flowable的定时job功能暂时关闭,其他的都用默认的
当然记得要添加一个数据源,我这里添加的mysql,并且记得建好对应的mysql库,如果没有建就自己建一个吧

like this:
CREATE DATABASE flowable DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

server:
  port: 9999
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/flowable?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: root
#开启调试信息
logging:
  level:
    org:
      flowable: DEBUG
#业务流程涉及的表自动生成
flowable:
  database-schema-update: true
  async-executor-activate: false
#关闭定时任务JOB
 #async-executor-activate: false

这样操作后,flowable与springBoot的整个就完成了!

然后就可以运行了,如果指定的数据库中还未创建过flowable的相关数据表,则初次运行时flowable会将自动执行flowable中的初始化脚本完成工作流所需要的数据表的建立。
Tables_in_flowable

act_app_appdef                  
act_app_databasechangelog       
act_app_databasechangeloglock   
act_app_deployment              
act_app_deployment_resource     
act_cmmn_casedef                
act_cmmn_databasechangelog      
act_cmmn_databasechangeloglock  
act_cmmn_deployment             
act_cmmn_deployment_resource    
act_cmmn_hi_case_inst           
act_cmmn_hi_mil_inst            
act_cmmn_hi_plan_item_inst      
act_cmmn_ru_case_inst           
act_cmmn_ru_mil_inst            
act_cmmn_ru_plan_item_inst      
act_cmmn_ru_sentry_part_inst    
act_co_content_item             
act_co_databasechangelog        
act_co_databasechangeloglock    
act_dmn_databasechangelog       
act_dmn_databasechangeloglock   
act_dmn_decision                
act_dmn_deployment              
act_dmn_deployment_resource     
act_dmn_hi_decision_execution   
act_evt_log                     
act_fo_databasechangelog        
act_fo_databasechangeloglock    
act_fo_form_definition          
act_fo_form_deployment          
act_fo_form_instance            
act_fo_form_resource            
act_ge_bytearray                
act_ge_property                 
act_hi_actinst                  
act_hi_attachment               
act_hi_comment                  
act_hi_detail                   
act_hi_entitylink               
act_hi_identitylink             
act_hi_procinst                 
act_hi_taskinst                 
act_hi_tsk_log                  
act_hi_varinst                  
act_id_bytearray                
act_id_group                    
act_id_info                     
act_id_membership               
act_id_priv                     
act_id_priv_mapping             
act_id_property                 
act_id_token                    
act_id_user                     
act_procdef_info                
act_re_deployment               
act_re_model                    
act_re_procdef                  
act_ru_actinst                  
act_ru_deadletter_job           
act_ru_entitylink               
act_ru_event_subscr             
act_ru_execution                
act_ru_external_job             
act_ru_history_job              
act_ru_identitylink             
act_ru_job                      
act_ru_suspended_job            
act_ru_task                     
act_ru_timer_job                
act_ru_variable                 
flw_channel_definition          
flw_ev_databasechangelog        
flw_ev_databasechangeloglock    
flw_event_definition            
flw_event_deployment   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot是一个基于Spring框架的快速开发框架,可以帮助开发者快速搭建基于Spring的应用程序。Flowable是一个流程引擎,可以帮助开发者快速实现业务流程的自动化管理。Spring BootFlowable的结合可以让开发者更加方便地实现业务流程的自动化管理,提高开发效率和业务效率。 ### 回答2: SpringBoot Flowable是一款基于SpringBootFlowable和RESTful风格的Web应用程序开发框架。SpringBoot框架是一个独立的、基于Spring框架的应用程序开发框架,它简化了Spring应用程序的配置和部署,并提供快速的开发、测试和部署功能。Flowable框架是基于BPMN2.0标准的一个开源的流程引擎框架,它提供了丰富的流程定义、任务管理、历史记录、事件跟踪等功能,便于企业进行复杂业务流程的管理和优化。 SpringBoot Flowable框架的主要特点包括: 1.高效简便:SpringBoot Flowable采用SpringBoot框架简化了Spring应用程序的配置和部署,同时结合Flowable框架,使流程定义和任务管理更加简便高效。 2.易于扩展:SpringBoot Flowable框架采用RESTful风格的接口设计,与其它系统集成更加简单方便,同时也支持二次开发和自定义扩展。 3.丰富的功能:SpringBoot Flowable框架集成了Flowable框架所提供的全部功能,包括流程定义、任务管理、历史记录、事件跟踪等,支持企业复杂业务流程的管理和优化。 4.支持多平台:SpringBoot Flowable框架可以部署在不同系统平台上,如Windows、Linux等,实现跨平台共享和应用。 在使用SpringBoot Flowable框架的过程中,需要掌握SpringBoot框架和Flowable框架的相关知识,同时注意提升系统的安全性和稳定性。可以参考SpringBootFlowable官方文档进行学习和参考,也可以借助其它资料和开发者社区进行交流和分享。 ### 回答3: Spring Boot是一个开源的Java开发框架,可以快速地开发基于Java的Web应用程序。它提供了许多内置的功能和自动配置,使开发者能够轻松地构建可扩展的、高度可用的应用程序。而Flowable是一个开源的工作流引擎,它基于BPMN(Business Process Model and Notation)标准,可以帮助企业完成复杂的业务流程,实现业务可视化、自动化流转和智能化控制。 Spring BootFlowable的结合使得开发者能够轻松地使用Flowable来构建业务流程。使用Spring BootFlowable编写代码可以快速实现流程引擎的集成和管理,同时也方便了开发人员使用Spring Boot框架进行Web开发。 Spring Boot可以使用简便的方式来配置Flowable,使用它提供的自动配置和starter等模块来进行流程引擎的集成和管理。同时,Spring Boot还提供了丰富的开发工具和插件,使得开发者能够轻松地进行代码调试和测试。 在使用Spring BootFlowable进行业务流程开发时,开发者可以使用Flowable提供的任务列表、流程修改等功能,可以轻松地修改业务流程,使得业务流程变得更加智能化和高效化。同时,Spring BootFlowable的结合也使得业务流程的开发变得更加简单和可靠。 总之,Spring BootFlowable的结合可以使开发者轻松地构建高可用、高效率、智能化的业务流程,并且简化了开发和管理流程引擎的过程,帮助企业实现业务的自动化和智能化管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值