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

时间: 2024-10-10 17:46:55

Activiti获取ProcessEngine的三种方法的相关文章

Android--从网络获取图片的三种方法

android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Application Not Responding)对话框的情况.对于这种情况,一般的方法就是耗时操作用线程来实现.下面列三种获取url图片的方法: 1.直接获取:(容易:ANR,不建议) mImageView = (ImageView)this.findViewById(R.id.imageThreadConcept) ;Drawable drawable = loadImageFromNetwor

URL转Drawable之 Android中获取网络图片的三种方法

转载自: http://doinone.iteye.com/blog/1074283 Android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Application Not Responding)对话框的情况.对于这种情况,一般的方法就是耗时操作用线程来实现.下面列三种获取url图片的方法: 1.直接获取:(容易:ANR,不建议) [java] view plain copy mImageView = (ImageView)this.findViewById

Android中获取网络图片的三种方法

android中获取网络图片是一件耗时的操作,如果直接获取有可能会出现应用程序无响应(ANR:Application Not Responding)对话框的情况.对于这种情况,一般的方法就是耗时操作用线程来实现.下面列三种获取url图片的方法: 1.直接获取:(容易:ANR,不建议) mImageView = (ImageView)this.findViewById(R.id.imageThreadConcept) ; Drawable drawable = loadImageFromNetwo

js jquery 获取服务器控件的三种方法

由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,google了下,总结有以下3种方法: 服务器控件代码:<asp:TextBox ID="txtUserID" runat="server"></asp:TextBox> 1. $("#<%=txtUserID.ClientID%>").val(); 2. $("input[id*=txtUserID]&qu

android 获取sharedpreference的三种方法的区别

1. public SharedPreferences getPreferences (int mode) 通过Activity对象获取,获取的是本Activity私有的Preference,保存在系统中的xml形式的文件的名称为这个Activity的名字,因此一个Activity只能有一个,属于这个Activity. 2. public SharedPreferences getSharedPreferences (String name, int mode) 因为Activity继承了Con

Java获取Class的三种方法

String s = ""; Class cl1 = s.getClass(); String className1 = s.getClass().getName(); String className2 = "java.lang.String"; Class cl2 = Class.forName(className2); //如果T是任意的Java类型(或void关键字),T.class将代表匹配的类对象 Class cl3 = int.class; 原文地址:

[BUUOJ记录] [强网杯 2019]随便注(三种方法)

本题主要考察堆叠注入,算是比较经典的一道题,在i春秋GYCTF中也出现了本题的升级版 猜测这里的MySQL语句结构应该是: select * from words where id='$inject'; 构造Payload:用单引号+分号闭合前面的语句,插入SQL语句,再用注释符注释掉后面的语句即可 先列出所有数据库: 1';show databases;# 得到: array(1) { [0]=> string(11) "ctftraining" } array(1) { [0

Java中获取键盘输入值的三种方法

Java中获取键盘输入值的三种方法     Java程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这种情况我们就束手无策,请你看以下三种解决方法吧: 以下将列出几种方法: 方法一:从控制台接收一个字符,然后将其打印出来 import java.io.*; public static void main(String [] args) throws

jQuery -&gt; 获取后代元素的三种方法

如果我们有内容如下的html文件,那么如何选取包含在<p>元素内的<i>元素呢? 邪馬台国の謎と弥生時代 紀元前1000年ごろ.水稲工作の技術をもつ集団が大挙して日本に移住してきた.これによって弥生時代が始まった. 縄文人も南方から伝わった稲を栽培していたが.彼らは原野を開いて大掛かりな水田をつくる発想を持たなかった.しかし.北九州に新たな文化を持って集団が来たのを知った彼らは次第に.水稲工作を受け入れ弥生人へとか分かっていた. html源码如下 <h1>邪馬台国の謎と