Activiti获取ProcessEngine的三种方法

1.通过ProcessEngineConfiguration获取

 1 package cn.lonecloud.mavenActivi;
 2 
 3 import org.activiti.engine.ProcessEngine;
 4 import org.activiti.engine.ProcessEngineConfiguration;
 5 import org.junit.Test;
 6 /**
 7  * 通过使用ProcessEngineConfiguration获取
 8  * @Title: ConfigByClass.java
 9  * @Package cn.lonecloud.mavenActivi
10  * @Description: 
11  * @author lonecloud
12  * @date 2016年8月22日 下午10:50:33
13  */
14 public class ConfigByClass {
15     @Test
16     public void config() {
17         //获取config对象
18         ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration
19                 .createStandaloneProcessEngineConfiguration();
20         //Jdbc设置
21         String jdbcDriver = "com.mysql.jdbc.Driver";
22         processEngineConfiguration.setJdbcDriver(jdbcDriver);
23         String jdbcUrl = "jdbc:mysql://localhost:3306/mavenActiviti?useUnicode=true&characterEncoding=utf-8";
24         processEngineConfiguration.setJdbcUrl(jdbcUrl);
25         String jdbcUsername = "root";
26         processEngineConfiguration.setJdbcUsername(jdbcUsername);
27         String jdbcPassword = "123456";
28         processEngineConfiguration.setJdbcPassword(jdbcPassword);
29         /**
30          * Checks the version of the DB schema against the library when the
31          * process engine is being created and throws an exception if the
32          * versions don't match.
33          */
34 //        public static final String DB_SCHEMA_UPDATE_FALSE = "false";//不自动创建新表
35 
36         /**
37          * Creates the schema when the process engine is being created and drops
38          * the schema when the process engine is being closed.
39          */
40 //        public static final String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";//每次运行创建新表
41 
42         /**
43          * Upon building of the process engine, a check is performed and an
44          * update of the schema is performed if it is necessary.
45          */
46 //        public static final String DB_SCHEMA_UPDATE_TRUE = "true";设置自动对表结构进行改进和升级
47         //设置是否自动更新
48         processEngineConfiguration
49                 .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
50         //获取引擎对象
51         ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
52         processEngine.close();
53     }
54 }

2.通过ProcessEngineConfiguration载入xml文件

xml文件:

 1 <beans xmlns="http://www.springframework.org/schema/beans"
 2     xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 5 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
 6 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
 7     <!--这里的类太多别导错了 -->
 8     <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
 9         <!-- 配置流程引擎配置对象 -->
10         <property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
11         <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true&amp;characterEncoding=utf-8"></property>
12         <property name="jdbcUsername" value="root"></property>
13         <property name="jdbcPassword" value="123456"></property>
14         <!-- 注入数据源信息 -->
15         <property name="databaseSchemaUpdate" value="true"></property>
16     </bean>
17     
18     <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
19         <!-- 注入自动建表设置 -->
20         <property name="processEngineConfiguration" ref="processEngineConfiguration"></property>
21     </bean>
22 </beans>

java

 1 package cn.lonecloud.mavenActivi;
 2 
 3 import org.activiti.engine.ProcessEngine;
 4 import org.activiti.engine.ProcessEngineConfiguration;
 5 import org.activiti.engine.ProcessEngines;
 6 import org.junit.Test;
 7 /**
 8  * 通过通过配置文件进行初始化获取引擎对
 9  * @Title: ConfigByConfig.java
10  * @Package cn.lonecloud.mavenActivi
11  * @Description: 
12  * @author lonecloud
13  * @date 2016年8月22日 下午10:40:35
14  */
15 public class ConfigByConfig {
16     /**
17      * 通过配置文件进行初始化获取引擎对象
18      * @Description:
19      */
20     @Test
21     public void configByConf(){
22         //载入资源
23         ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
24         //创建引擎
25         ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
26         processEngine.getRepositoryService();
27     }
28  }

3.通过默认载入activiti.cfg.xml进行获取

1      * 通过默认载入activiti.cfg.xml进行获取
2      * @Description:推荐使用
3      */
4     @Test
5     public void configByDefault(){
6         //通过获取载入默认获取
7         ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
8         processEngine.close();
9     }

这里的xml文件名必须设置为activiti.cfg.xml

 

posted @ 2016-08-22 22:56  lonecloud  阅读(18392)  评论(0编辑  收藏  举报
我的博客即将同步至 OSCHINA 社区,这是我的 OSCHINA ID:lonecloud,邀请大家一同入驻:https://www.oschina.net/sharing-plan/apply