jbpm4.4生成18张数据库表

来源:互联网 发布:c语言n个整数排序 编辑:程序博客网 时间:2024/06/11 17:10

                                            jbpm4.4生成18张数据库表


作者:Vashon

时间:20151213


一. 准备jBPM4.4的开发环境

1.1.  添加jBPM4.4的jar包

1.1.1.  ${JBPM_HOME}/jbpm.jar(核心包)

1.1.2.   JBPM_HOME/lib/*.jar,不添加以下jar包:servlet-api.jar, junit.jar。其中junit.jar一定不要添加,因为是3.8.2版本,与我们使用的junit4有冲突。

1.1.3.   所使用的数据库对应的驱动的jar包(第2步所添加的jar包中已包含mysql的jdbc驱动jar包)。

二、  添加并定制配置文件

2.1、jbpm.cfg.xml、

2.2、logging.properties、//要注意版本的问题,接口和实现类要相同版本

2.3、jbpm.hibernate.cfg.xml。


jbpm.cfg.xml配置信息如下:
<?xml version="1.0" encoding="UTF-8"?><jbpm-configuration>  <import resource="jbpm.default.cfg.xml" />  <import resource="jbpm.businesscalendar.cfg.xml" />  <import resource="jbpm.tx.hibernate.cfg.xml" />  <import resource="jbpm.jpdl.cfg.xml" />  <import resource="jbpm.bpmn.cfg.xml" />  <import resource="jbpm.identity.cfg.xml" />  <!-- Job executor is excluded for running the example test cases. -->  <!-- To enable timers and messages in production use, this should be included. -->  <!--  <import resource="jbpm.jobexecutor.cfg.xml" />  --></jbpm-configuration>

jbpm.hibernate.cfg.xml配置信息如下:

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-configuration PUBLIC          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!-- Oracle11g数据库信息org.hibernate.dialect.Oracle10gDialect --><!-- <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property><property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property><property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:ORCL</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">root</property>--><!-- mysql数据库信息 --><property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:///jbpm4</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">root</property><!-- 其他配置 --><property name="hibernate.hbm2ddl.auto">update</property><!-- 导入映射文件 --><mapping resource="jbpm.repository.hbm.xml" /><mapping resource="jbpm.execution.hbm.xml" /><mapping resource="jbpm.history.hbm.xml" /><mapping resource="jbpm.task.hbm.xml" /><mapping resource="jbpm.identity.hbm.xml" /></session-factory></hibernate-configuration>

三、HelloWorld后台测试:

package jbpm.test;import java.util.List;import org.jbpm.api.Configuration;import org.jbpm.api.ProcessEngine;import org.jbpm.api.task.Task;import org.junit.Test;public class Helloworld {    // 建表@Testpublic void createSchema() throws Exception { // hbm2ddl.auto=updatenew org.hibernate.cfg.Configuration()//.configure("jbpm.hibernate.cfg.xml")//.buildSessionFactory();}private static ProcessEngine processEngine = new Configuration()//.setResource("jbpm.cfg.xml")//.buildProcessEngine();// 1,部署流程定义@Testpublic void deployProcessDefintion() throws Exception {processEngine.getRepositoryService()//.createDeployment()//.addResourceFromClasspath("helloworld/helloworld.jpdl.xml")//.addResourceFromClasspath("helloworld/helloworld.png")//.deploy();}// 2,启动流程实例@Testpublic void startProcessInstance() throws Exception {processEngine.getExecutionService().startProcessInstanceByKey("helloworld");}// 3,查询我的个人任务列表@Testpublic void findMyPersonalTaskList() throws Exception {//String userId = "员工";// String userId = "部门经理"; String userId = "总经理";// 查询List<Task> taskList = processEngine.getTaskService().findPersonalTasks( userId);// 显示System.out.println("============= 【" + userId + "】的个人任务列表 ============");for (Task task : taskList) {System.out.println("id=" + task.getId()//+ ", name=" + task.getName()// 任务名称+ ", assignee=" + task.getAssignee()); // 办理人}}// 4,办理任务@Testpublic void completeTask() throws Exception {String taskId = "30001";processEngine.getTaskService().completeTask(taskId);}}

四、先运行createSchema()的Junit方法生成数据库表,结果如下:




注:以上是配置生成在Mysql中的jbpm数据库表,如果要生成在Oracle则修改下数据库配置信息即可。

补充:在生成oracle数据库表示会存在问题,解决方案见:http://blog.csdn.net/yangwenxue_admin/article/details/50282741






0 0