jbpm4.4生成18张数据库表
2015-12-13 10:23
615 查看
jbpm4.4生成18张数据库表
作者:Vashon
时间:20151213
jbpm.hibernate.cfg.xml配置信息如下:
注:以上是配置生成在Mysql中的jbpm数据库表,如果要生成在Oracle则修改下数据库配置信息即可。
补充:在生成oracle数据库表示会存在问题,解决方案见:http://blog.csdn.net/yangwenxue_admin/article/details/50282741
作者: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 { // 建表 @Test public void createSchema() throws Exception { // hbm2ddl.auto=update new org.hibernate.cfg.Configuration()// .configure("jbpm.hibernate.cfg.xml")// .buildSessionFactory(); } private static ProcessEngine processEngine = new Configuration()// .setResource("jbpm.cfg.xml")// .buildProcessEngine(); // 1,部署流程定义 @Test public void deployProcessDefintion() throws Exception { processEngine.getRepositoryService()// .createDeployment()// .addResourceFromClasspath("helloworld/helloworld.jpdl.xml")// .addResourceFromClasspath("helloworld/helloworld.png")// .deploy(); } // 2,启动流程实例 @Test public void startProcessInstance() throws Exception { processEngine.getExecutionService().startProcessInstanceByKey( "helloworld"); } // 3,查询我的个人任务列表 @Test public 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,办理任务 @Test public 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
相关文章推荐
- 如何在同一台服务器起多个pm2进程
- 生成rpm包
- rpm相关命令
- iOS 菜单 PopMenu
- 火热招募中 | PMCAFF产品经理社区志愿者计划火热开启
- 记npm包开发全过程
- Field BSEG-MWSKZ . does not exist in the screen SAPMF05A 0300 Message no. 00349
- 在Allegro中放置的元件显示不出来E- (SPMHA1-150): Symbol does not fit into the drawing ... reposition the symbol.
- POJ 3213 PM3 矩阵乘法
- CCBPM(CCFlow与JFlow)中如何让表单字段自动生成编号
- rpm 看 rpm 包内容
- npm install —— 从一个简单例子,看本地安装与全局安装的区别
- npm 命令安装模块
- warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID 7fac5991: NOKEY
- seajs中spm压缩工具使用
- npm 安装jslist 实现 src目录下js文件在project.json批量配置
- CCBPM(CCFlow与JFlow)H5版本中新增的数据统计分析功能演示(一)
- PMBOX 五大过程组合9个知识体系
- How to use USB to do charger detection instead of PMIC?
- 如何使用yum来下载RPM包而不进行安装