流程引擎配置类以及流程引擎类的5种创建方式以及注意事项

本文详细介绍了流程引擎配置类以及流程引擎的5种创建方式:1) 手工方式创建;2) 通过`createProcessEngineConfigurationFromInputStream`流方式创建;3) 使用资源方式创建;4) 默认方式创建;5) 利用activiti框架提供的建表语句。每种方法都提供了示例代码,并提到了源码分析和数据库表的创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流程引擎配置类以及流程引擎类的5种创建方式以及注意事项

1.手工方式创建流程引擎配置类以及流程引擎类
创建代码:
public class CreateActivitiTable
{
    @Test
    public void createTable()
    {
        ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
        processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
        processEngineConfiguration.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/activiti5.22?useUnicode=true&characterEncoding=UTF-8");
        processEngineConfiguration.setJdbcUsername("root");
        processEngineConfiguration.setJdbcPassword("root");
        processEngineConfiguration.setDatabaseSchemaUpdate("true");
        //生成表
        ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
        System.out.println(processEngine);
    }
}

2.createProcessEngineConfigurationFromInputStream:流方式进行创建
使用流进行创建的两种方式:
1.不指定Bean名称,默认使用Activiti名称
    @Test
    public void InputStreamAutoCreateTable(){
        InputStream in = CreateActivitiTable.class.getClassLoader().getResourceAsStream("activiti.cfg.xml");
        ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream(in);
        ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
        System.out.println(processEngine);
    }

2.指定特定的名bean名称
    @Test
    public void InputStreamAutoCreateTableBean(){
        InputStream in=CreateActivitiTable.class.getClassLoader().getResourceAsStream("activiti.cfg.xml");
        ProcessEngineConfiguration processEngineConfigurationFromInputStream =
                ProcessEngineConfiguration.
                        createProcessEngineConfigurationFromInputStream(in, "processEngineConfiguration");
        ProcessEngine buildProcessEngine = processEngineConfigurationFromInputStream.buildProcessEngine();
        System.out.println(buildProcessEngine);
    }

进入源码可以看见本质区别

3.通过资源的方式进行创建
通过资源创建只需要指定配置文件即可
1.直接指定配置文件
 @Test
    public void ResourceCreate(){
        String resourceName = "activiti.cfg.xml";
        ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resourceName);
        ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
        System.out.println(processEngine);
    }
2.指定特定的bean
 @Test
    public void ResourceCreateBean(){
        String resourceName = "activiti.cfg.xml";
        ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resourceName, "processEngineConfiguration");
        ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
        System.out.println(processEngine);
    }
进入源码可以看见本质区别

4.默认方式创建
    //通过默认方式进行创建
    @Test
    public void createDataDefault(){
        ProcessEngineConfiguration processEngineConfiguration=ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
        ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
        System.out.println(processEngine);
    }
    @Test
    public void createDataInMem(){
        ProcessEngineConfiguration processEngineConfiguration=ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();
        ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
        System.out.println(processEngine);
    }
查看源码可以发现

5.使用activiti框架提供的建表语句

activiti-engine.jar包中自带了创建activiti工作流数据库表的SQL语句和自动初始化数据库的方法。SQL语句在org.activiti.db.create包下,初始化方法在org.activiti.engine.impl.db.DbSchemaCreate的main方法之中。
使用MySQL数据库,执行以下选中的3个sql文件运行就可以成功创建23张表。

查看原文:https://blog.gzczy.top/2018/03/01/%e6%b5%81%e7%a8%8b%e5%bc%95%e6%93%8e%e9%85%8d%e7%bd%ae%e7%b1%bb%e4%bb%a5%e5%8f%8a%e6%b5%81%e7%a8%8b%e5%bc%95%e6%93%8e%e7%b1%bb%e7%9a%845%e7%a7%8d%e5%88%9b%e5%bb%ba%e6%96%b9%e5%bc%8f%e4%bb%a5%e5%8f%8a/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值