jbpm4.4学习总结(二)部署流程到Mysql数据库
2012-07-25 13:15
731 查看
流程设计好了以后,我们要持久化到数据库中,我们用的是Mysql,jbpm3.2版本数据库文件是有问题的,不过jbpm4.4修复了这个问题。
一、准备数据库
1.1首先安装ant >>>> baidu or google1.2修改jbpm4.4的mysql.properties,主要是创建数据库的时候能对应你在mysql里面建立的schema,因为jbpm默认是用hibernate实现数据库的持久化 >>>>>D:\jbpm-4.4\install\jdbc中
1.3 cmd到>>>>>D:\jbpm-4.4\install 运行ant -Ddatabase=mysql create.jbpm.schema
当看到 Successful字样的时候,去数据库检查一下看看表是否都建好了
二、创建Project
2.1首先要创建一个Dynamic Web Project项目,并将jbpm配置文件放在指定位置,最后引入D:\jbpm-4.4\lib 下的jar我的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> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://192.168.0.100:3307/mtf_jbpm</property> <property name="hibernate.connection.username">MTF</property> <property name="hibernate.connection.password">a123b456</property> <property name="hibernate.hbm2ddl.auto">update</property> <!-- <property name="show_sql">false</property> <property name="hibernate.format_sql">true</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>
需要注意的是hibernate.hbm2ddl.auto create-drop是默认,有点遗忘……
2.3引入jbpm的jar >>D:\jbpm-4.4\lib 下,注意包的冲突,不要引入重复的
1. ${JBPM_HOME}/jbpm.jar(核心包)
2. JBPM_HOME/lib/*.jar,不添加以下jar包:servlet-api.jar, junit.jar。其中junit.jar一定不要添加,因为是3.8.2版本,与我们使用的junit4有冲突。
3. 所使用的数据库对应的驱动的jar包(第2步所添加的jar包中已包含mysql的jdbc驱动jar包)。
三、部署流程到Mysql数据库
3.1需要写一个Junit testCasepublic class LeaveDeploy { private String deploymentId; private ProcessEngine processEngine; private TaskService taskService; private RepositoryService repositoryService; private ExecutionService executionService; private HistoryService historyService; @Test public void testDeploy() { processEngine = new Configuration().getProcessEngine(); repositoryService = processEngine.getRepositoryService(); executionService = processEngine.getExecutionService(); taskService = processEngine.getTaskService(); historyService = processEngine.getHistoryService(); deploymentId = processEngine.getRepositoryService().createDeployment() .addResourceFromClasspath("com/mtf/jbpm/process/leaveProcess.jpdl.xml") //指定jpdl.xml的路径 // .addResourceFromClasspath("test/leaveProcess.png") .deploy(); System.out.println("发布成功!"); System.out.println(deploymentId); } }
运行junit,成功后发现数据库中有相应的记录就成功啦,其间可能遇到运行成功但是数据库没有字段增加的情况,忘了怎么解决了,我记的是粗心大意所致
四、总结
这部分其实是很简单的,我刚开始用jbpm4.4的时候就是持久化不了数据库,记忆中好像是因为哪个地方配置出错了……还有就是我写的项目其实很偷懒,jbpm实际上要求我们管理流程定义(增删改查),部署流程实际上推荐我们打成zip包上传到服务端然后在持久化到数据库,但是我觉得这样简单嘛,能用就行啦……相关文章推荐
- jbpm4.4学习总结(四)请假流程
- jbpm4.4学习总结(四)请假流程
- Activiti学习总结(二)————工作流程部署
- JBPM学习---JBPM流程的部署
- jBPM学习之部署流程定义
- jbpm4.4学习总结(三)常用接口使用说明 推荐
- JBPM4.4学习之三:流程变量概念及使用
- JBPM4.4:API风格、管理(部署、删除、更改、查询(文件资源、活动坐标))流程定义
- jbpm4.4学习总结(一)搭建环境、jpdl流程图
- jBPM学习笔记3--流程的部署
- JavaSE视频学习阶段性总结 二(流程控制,面向对象,封装)
- CloudStack 4.4学习总结之前期准备
- C# 学习总结 之 流程控制
- 使用jBPM开发企业流程应用之在Tomcat上部署流程引擎及控制台
- Maven学习总结(11)——Maven Tomcat7自动部署
- Jenkins学习总结(1)——Jenkins详细安装与构建部署使用教程
- JBPM4.4 使用非zip方式发布流程 实现流程图加载
- JBPM4.4学习使用
- jbpm4.4+mysql流程实例不能删除,报告a foreign key constraint fails
- jBPM4.4流程变量