轻松开始工作流,快速开始flowable

轻松开始工作流,快速开始flowable_第1张图片
图片.png

Springboot Flowable

环境:springboot 2以上
工具:ecplise(工作流插件)

如果有更好用的集成插件,希望可以介绍一下,毕竟用配套的designer,开发速度太慢了

Spring Boot是关于约定优于配置的。首先,您需要创建一个Spring Boot项目。最简单的方法是通过start.spring.io创建一个项目。例如,创建一个包含web和h2依赖项的项目。然后在创建的项目中添加flowable-spring-boot-starter或flowable-spring-boot-starter-rest依赖项。如果您不需要所有引擎,请查看其他Flowable启动器。例如对于Maven


    org.flowable
    flowable-spring-boot-starter
    ${flowable.version}

这就是所需要的。此依赖项将传递性地将正确的Flowable依赖项添加到类路径中。您现在可以运行Spring Boot应用程序:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

}
因此,通过在类路径中添加依赖项并使用@SpringBootAplication注释,幕后发生了很多事情:
  • 自动创建内存中数据源(因为H2驱动程序在类路径上)并传递给Flowable流程引擎配置

  • 已创建并公开Flowable ProcessEngine,CmmnEngine,DmnEngine,FormEngine,ContentEngine和IdmEngine bean

  • 所有Flowable服务都以Spring bean的形式公开

  • Spring Job Executor已创建

将自动部署processes文件夹中的任何BPMN 2.0流程定义。创建文件夹进程并将虚拟进程定义(名为one-task-process.bpmn20.xml)添加到此文件夹。该文件的内容如下所示。
* 将自动部署案例文件夹中的任何CMMN 1.1案例定义。

* 将自动部署dmn文件夹中的任何DMN 1.1 dmn定义。

* 将自动部署表单文件夹中的任何表单定义。

流程定义的XML内容如下所示。请注意,目前,我们正在将一个名为“kermit”的受让人硬编码到用户任务中。我们稍后再回过头来看看。




    
        
        
        
        
        
    


此外,添加以下代码行以测试部署是否实际工作。 CommandLineRunner是一种特殊的Spring bean,在应用程序启动时执行:

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

    @Bean
    public CommandLineRunner init(final RepositoryService repositoryService,
                                  final RuntimeService runtimeService,
                                  final TaskService taskService) {

        return new CommandLineRunner() {
            @Override
            public void run(String... strings) throws Exception {
                System.out.println("Number of process definitions : "
                    + repositoryService.createProcessDefinitionQuery().count());
                System.out.println("Number of tasks : " + taskService.createTaskQuery().count());
                runtimeService.startProcessInstanceByKey("oneTaskProcess");
                System.out.println("Number of tasks after process start: "
                    + taskService.createTaskQuery().count());
            }
        };
    }
}

如上所述,Spring Boot是关于配置的约定。默认情况下,通过在类路径上只有H2,它创建了一个内存中的数据源并将其传递给Flowable流程引擎配置。

要更改数据源,只需添加数据库驱动程序依赖项并将URL提供给数据库。例如,要切换到MySQL数据库

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/flowable-spring-boot?characterEncoding=UTF-8
spring.datasource.username=flowable
spring.datasource.password=flowable

如果应用程序现在已启动,您将看到它使用MySQL作为数据库(以及HikariCP连接池框架)

org.flowable.engine.impl.db.DbSqlSession   : performing create on engine with resource org/flowable/db/create/flowable.mysql.create.engine.sql
org.flowable.engine.impl.db.DbSqlSession   : performing create on history with resource org/flowable/db/create/flowable.mysql.create.history.sql
org.flowable.engine.impl.db.DbSqlSession   : performing create on identity with resource org/flowable/db/create/flowable.mysql.create.identity.sql

你可能感兴趣的:(轻松开始工作流,快速开始flowable)