Flowable工作流-简单的介绍

Flowable - 工作流

官方文档:
https://tkjohn.github.io/flowable-userguide/#_introduction

主要对象ProcessEngine

ProcessEngine 主要对应几个服务:

  • RepositoryService 资理源管
  • RunTimeService 流程运行服务
  • TaskService 任务服务
  • HistoryService 历史记录服务

RepositoryService 资理源管

部署流程

将流程定义部署至Flowable引擎,需要使用RepositoryService,其可以从ProcessEngine对象获取。使用RepositoryService,可以通过XML文件的路径创建一个新的部署(Deployment),并调用deploy()方法实际执行:

RepositoryService repositoryService = processEngine.getRepositoryService();
Deployment deployment = repositoryService.createDeployment()
  .addClasspathResource("holiday-request.bpmn20.xml")//resouce目录下的文件
  .deploy();

查询部署实例

   /**
     * 获取flowable实例对象
     */

    ProcessEngineConfiguration configuration=null;
    @Before
    public  void testProcessEngine() {
        configuration = new StandaloneProcessEngineConfiguration()
                 //链式调整
                .setJdbcUrl("jdbc:mysql://localhost:3306/2022?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai")
                .setJdbcUsername("root")
                .setJdbcPassword("123456")
                .setJdbcDriver("com.mysql.cj.jdbc.Driver")
                .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
        //创建引擎对象
//        ProcessEngine processEngine = configuration.buildProcessEngine();
    }


       //部署
      @Test
    public void deployment(){
        ProcessEngine processEngine = configuration.buildProcessEngine();
        //获取资源对象
        RepositoryService repositoryService = processEngine.getRepositoryService();
        //创建一个流程部署对象
        DeploymentBuilder deployment = repositoryService.createDeployment();
        //设置流程图
        deployment.addClasspathResource("holiday-request.bpmn20.xml");
        deployment.name("holiday-request");
        //开始部署
        deployment.deploy();

    }
    //查询

   @Test
    public void deploymentQuery(){
        ProcessEngine processEngine = configuration.buildProcessEngine();
        //获取资源对象
        RepositoryService repositoryService = processEngine.getRepositoryService();
        //创建一个流程部署对象
         ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();

         ProcessDefinition processDefinition = processDefinitionQuery.deploymentId("1").singleResult();

        System.out.println("processDefinition.getDeploymentId() = " + processDefinition.getDeploymentId());
        System.out.println("processDefinition.getName() = " + processDefinition.getName());


    }




RunTimeService 流程运行服务

TaskService 任务服务

HistoryService 历史记录服务

posted @ 2022-06-26 16:07  菜菜920  阅读(878)  评论(0编辑  收藏  举报