activiti学习笔记1---20170323

来源:互联网 发布:cpu测试软件 linux 编辑:程序博客网 时间:2024/06/04 19:29

一、activiti下载

下载地址http://activiti.org/download.html;


二、maven工程simple project需要的jar依赖关系

org.activiti:activiti-engine:jar:5.17.0+- org.activiti:activiti-bpmn-converter:jar:5.17.0:compile|  \- org.activiti:activiti-bpmn-model:jar:5.17.0:compile|     +- com.fasterxml.jackson.core:jackson-core:jar:2.2.3:compile|     \- com.fasterxml.jackson.core:jackson-databind:jar:2.2.3:compile|        \- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.3:compile+- org.activiti:activiti-process-validation:jar:5.17.0:compile+- org.activiti:activiti-image-generator:jar:5.17.0:compile+- org.apache.commons:commons-email:jar:1.2:compile|  +- javax.mail:mail:jar:1.4.1:compile|  \- javax.activation:activation:jar:1.1:compile+- org.apache.commons:commons-lang3:jar:3.3.2:compile+- org.mybatis:mybatis:jar:3.2.5:compile+- org.springframework:spring-beans:jar:4.0.6.RELEASE:compile|  \- org.springframework:spring-core:jar:4.0.6.RELEASE:compile+- joda-time:joda-time:jar:2.6:compile+- org.slf4j:slf4j-api:jar:1.7.6:compile+- org.slf4j:jcl-over-slf4j:jar:1.7.6:compile

三、添加连接数据库需要的jar依赖【使用oracle11g数据库, 数据库连接使用druid】


四、pom.xml文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.zqy.activiti</groupId>  <artifactId>HelloWorld</artifactId>  <version>0.0.1-SNAPSHOT</version>  <properties>  <junit.version>4.12</junit.version>  <activiti.version>5.20.0</activiti.version>  <commons-email.version>1.2</commons-email.version>  <commons-lang3.version>3.3.2</commons-lang3.version>  <mybatis.version>3.2.5</mybatis.version>  <springframework.version>4.0.6.RELEASE</springframework.version>  <joda-time.version>2.6</joda-time.version>  <slf4j.version>1.7.6</slf4j.version>  <ojdbc6.version>11.2.0.3</ojdbc6.version>  <druid.version>1.0.29</druid.version>  </properties>  <dependencies>  <dependency>  <groupId>junit</groupId>  <artifactId>junit</artifactId>  <version>${junit.version}</version>  </dependency>  <dependency>  <groupId>org.activiti</groupId>  <artifactId>activiti-engine</artifactId>  <version>${activiti.version}</version>  </dependency>  <dependency>  <groupId>org.activiti</groupId>  <artifactId>activiti-process-validation</artifactId>  <version>${activiti.version}</version>  </dependency>  <dependency>  <groupId>org.activiti</groupId>  <artifactId>activiti-image-generator</artifactId>  <version>${activiti.version}</version>  </dependency>  <dependency>  <groupId>org.apache.commons</groupId>  <artifactId>commons-email</artifactId>  <version>${commons-email.version}</version>  </dependency>  <dependency>  <groupId>org.apache.commons</groupId>  <artifactId>commons-lang3</artifactId>  <version>${commons-lang3.version}</version>  </dependency>  <dependency>  <groupId>org.mybatis</groupId>  <artifactId>mybatis</artifactId>  <version>${mybatis.version}</version>  </dependency>  <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-beans</artifactId>  <version>${springframework.version}</version>  </dependency>  <dependency>  <groupId>joda-time</groupId>  <artifactId>joda-time</artifactId>  <version>${joda-time.version}</version>  </dependency>  <dependency>  <groupId>org.slf4j</groupId>  <artifactId>slf4j-api</artifactId>  <version>${slf4j.version}</version>  </dependency>  <dependency>  <groupId>org.slf4j</groupId>  <artifactId>jcl-over-slf4j</artifactId>  <version>${slf4j.version}</version>  </dependency>  <dependency>  <groupId>com.oracle</groupId>  <artifactId>ojdbc6</artifactId>  <version>${ojdbc6.version}</version>  </dependency>  <dependency>  <groupId>com.alibaba</groupId>  <artifactId>druid</artifactId>  <version>${druid.version}</version>  </dependency>  </dependencies></project>

五、junit test方法创建流程引擎【自动创建activiti需要的数据表】

5.1创建方式一(java代码设置数据连接)

@Testpublic void testCreateTable(){ProcessEngine processEngine = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration().setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE)//.setDatabaseSchema("ACT").setJdbcUrl("jdbc:oracle:thin:@127.0.0.1:1521:orcl").setJdbcDriver("oracle.jdbc.driver.OracleDriver").setJdbcUsername("act_test").setJdbcPassword("act_test").setAsyncExecutorEnabled(true).setAsyncExecutorActivate(false).buildProcessEngine();System.out.println(processEngine);}


5.2创建方式二,使用默认路径classpath下的activiti.cfg.xml创建流程引擎[spring管理]

activiti.cfg.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd">  <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">    <property name="jdbcUrl" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />    <property name="jdbcDriver" value="oracle.jdbc.driver.OracleDriver" />    <property name="jdbcUsername" value="act_test" />    <property name="jdbcPassword" value="act_test" />    <property name="databaseSchemaUpdate" value="true" />    <property name="jobExecutorActivate" value="false" />    <property name="asyncExecutorEnabled" value="true" />    <property name="asyncExecutorActivate" value="false" />    <property name="mailServerHost" value="mail.my-corp.com" />    <property name="mailServerPort" value="5025" />  </bean></beans>
流程引擎创建如下:
@Testpublic void testCreateTableByXml(){ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault().buildProcessEngine();System.out.println(processEngine);}

5.3创建方式三,指定activiti配置文件创建流程引擎【使用druid配置, 使用spring管理】

activiti的配置文件activitiBean.cfg.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" /><property name="username" value="act_test" /><property name="password" value="act_test" /><!-- 配置初始化大小、最小、最大 -->      <property name="initialSize" value="1" />      <property name="minIdle" value="1" />       <property name="maxActive" value="20" />         <!-- 配置获取连接等待超时的时间 -->      <property name="maxWait" value="60000" />         <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->      <property name="timeBetweenEvictionRunsMillis" value="60000" />         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->      <property name="minEvictableIdleTimeMillis" value="300000" />          <property name="validationQuery" value="SELECT 'x'" />      <property name="testWhileIdle" value="true" />      <property name="testOnBorrow" value="false" />      <property name="testOnReturn" value="false" />         <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->      <property name="poolPreparedStatements" value="true" />      <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />         <!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 -->      <property name="filters" value="stat" /></bean><bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"><property name="dataSource" ref="dataSource"></property><property name="databaseSchemaUpdate" value="true" /><property name="jobExecutorActivate" value="false" /><property name="asyncExecutorEnabled" value="true" /><property name="asyncExecutorActivate" value="false" /><property name="mailServerHost" value="mail.my-corp.com" /><property name="mailServerPort" value="5025" /></bean></beans>
创建流程引擎代码如下:

@Testpublic void testCreateTableByBeanXml(){ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activitiBean.cfg.xml").buildProcessEngine();System.out.println(processEngine);}

注意:

使用oracle11g,创建流程引擎生成activiti数据表时, 初次创建可能会抛出异常, 配置DatabaseSchema为ACT后,可正常创建;






0 0
原创粉丝点击