activiti7

1环境准备

idea后来的版本不兼容actibpm。现有插件

activiti7_第1张图片

2使用

配置好数据库连接 会自动生成
activiti7_第2张图片

activiti7_第3张图片
流程图创建好之后(一般默认在rescources创建process文件夹下)可以查看。
不是老版的actibpm,不需要什么cfg.xml文件之类的,只需要连接好数据库和创建好流程有bpmn.xml文件即可
在这里插入图片描述activiti7_第4张图片
3使用流程
添加链接描述

act_re_deployment 记录部署信息

act_re_procdef 记录流程定义的信息

act_ge_bytearray 记录定义的bpmn文件和pang文件

4应用
创建新的流程
实战

核心

spring整合

思想
activiti7_第5张图片

0506视频(破站里面的下面的是还没有结合springBoot的,先了解一下基本使用方法,后面再整合springboot)

20230614 2022版本idea使用的bpmn

添加链接描述
1.engine:的思想就是业务上的变动不影响代码,把共性抽离出来
2 activiti得知道在哪个数据库里卖弄创建表,所以有个activiti.fcg.xml文件。放在默认路径下activiti7_第6张图片
其中核心配置类
activiti7_第7张图片

3在程序中有这一行就会自动创建表结构
在这里插入图片描述

其中processEngine的核心Service有这四个
getHistoryService getRepositoryService getRuntimeService getTaskService

activiti7_第8张图片

5实践
0)使用activiti创建数据库

/**
     * 生成 activiti的数据库表
     */
    @Test
    public void testCreateDbTable() {
        //默认创建方式
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
        //通用的创建方式,指定配置文件名和Bean名称
//        ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml", "processEngineConfiguration");
//        ProcessEngine processEngine1 = processEngineConfiguration.buildProcessEngine();
        System.out.println(processEngine);

    }

1)创建流程。首先创建bpmn文件(其本质是xml文件)创建好bpmn文件之后生成png图片同时放在resource文件夹下 (按理说只需要bpmn文件即可)
2)部署流程。本质就是导入流程xml文件配置,activiti引擎自动创建数据库。
2022idea版本的使用activiti bpmn visualizer插件,引入了springboot
.name(“流程名称”)

    /**
     * 只能导入文件名称为 [*.bpmn20.xml] 或者 [*.bpmn]
     */
    @Test
    public void deployTest() throws Exception {
        DeploymentBuilder builder = repositoryService.createDeployment();

        // 只能导入文件名称为 [*.bpmn20.xml] 或者 [*.bpmn]  (xml文件路径)
        File file = new File("/xx/xx/xxx/test.bpmn20.xml");
        Deployment deployment = builder.name("流程名称")
                .addInputStream(file.getAbsolutePath(), new FileInputStream(file))
                .deploy();

    }

2019版本的(使用 actibpm插件,下面的代码是还没有引入springboot)

    /**
     * 部署流程定义  文件上传方式
     */
    @Test
    public void testDeployment(){
//        1、创建ProcessEngine
        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//        2、得到RepositoryService实例
        RepositoryService repositoryService = processEngine.getRepositoryService();
//        3、使用RepositoryService进行部署
        Deployment deployment = repositoryService.createDeployment()
                .addClasspathResource("bpmn/Leave.bpmn") // 添加bpmn资源
                //png资源命名是有规范的。Leave.myLeave.png|jpg|gif|svg  或者Leave.png|jpg|gif|svg
                .addClasspathResource("bpmn/Leave.myLeave.png")  // 添加png资源
                .name("请假申请流程")
                .deploy();
//        4、输出部署信息
        System.out.println("流程部署id:" + deployment.getId());
        System.out.println("流程部署名称:" + deployment.getName());
    }

引申

导入项目的时候编译出错

你可能感兴趣的:(activiti,spring,boot,java,spring)