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

流程引擎配置类以及流程引擎类的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/

你可能感兴趣的:(流程引擎配置类以及流程引擎类的5种创建方式以及注意事项)