你要用jBPM4.3,首先至少你要了解
1.UML2.0的活动图(因为jBPM是Activity Diagram模型)
2.Hibernate(因为jBPM集成了Hibernate作为引擎的持久框架)
当然最重要的是你对工作流的系统结构有初步的了解。
具体指引请参考 用户手册和开发手册,这里只是一些简单补充。
一、jBPM4.3下载
sourceforge下载
http://sourceforge.net/projects/jbpm/
svn仓库里下载
http://anonsvn.jboss.org/repos/jbpm/jbpm4
二、搭建环境(GDP在Eclipse上的安装)
当你无法在Eclipse安装jBPM4.3 GDP插件,把你的Eclipse SDK版本升级到3.42就OK了。
PS:不用重新下载Eclipse版本,通过Eclipse的自动升级就可以。Myeclipse同样适用=。=
三、jBPM4.3+SSH
1.在jbpm-4.3\install\src\db\create下选择你使用的数据库脚本(总共有18张表)
2.使用jbpm-4.3\install\src\demo下的SQL脚本生成测试用的数据
对jBPM4.3数据库的几张表简单介绍
引用
(1)JBPM4_DEPLOYMENT、(2)JBPM4_DEPLOYPROP及(3)JBPM4_LOB:存储 上传一个包含png和jpdl.xml的zip包 的相关数据
jbpm4_deployment表多了一条记录
jbpm4_deployprop表多了四条记录,对应langid,pdid,pdkey,pdversion
jbpm4_lob 表多了二条记录,保存流程图png图片和jpdl.xml
(4)JBPM4_HIST_PROCINST与(5)JBPM4_HIST_ACTINST分别存放的是Process Instance、Activity Instance的历史记录。
(6)JBPM4_EXECUTION主要是存放JBPM4的执行信息,Execution机制代替了JBPM3的Token机制(详细参阅JBPM4的PVM机制)。
(7)JBPM4_TASK存放需要人来完成的Activities,需要人来参与完成的Activity被称为Task。
(8)JBPM4_PARTICIPATION存放Participation的信息,Participation的种类有Candidate、Client、Owner、Replaced Assignee和Viewer。而具体的Participation既可以是单一用户,也可以是用户组。
(9)JBPM4_SWIMLANE。Swim Lane是一种Runtime Process Role。通过Swim Lane,多个Task可以一次分配到同一Actor身上。
(10)JBPM4_VARIABLE 存的是进行时的临时变量。
(11)JBPM4_HIST_DETAIL保存Variable的变更记录。
(12)JBPM4_HIST_VAR保存历史的变量。
(13)JBPM4_HIST_TASKTask的历史信息。
(14)JBPM4_ID_GROUP(15)JBPM_ID_MEMBERSHIP(16)JBPM4_ID_USER 这三张表很常见了,基本的权限控制,关于用户认证方面建议还是自己开发一套,JBPM4的功能太简单了,使用中有很多需要难以满足。
(17)JBPM4_JOB 存放的是Timer的定义。
(18)JBPM4_PROPERTY
3.因为jBPM集成了Hibernate作为引擎的持久框架,所以我们主要要做的就是把hibernate.cfg.xml的配置整进spring的配置文件applicationContext.xml中。
数据源配置参考jbpm-4.3\install\src\cfg\hibernate\spring\mysql.hibernate.cfg.xml
...
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingLocations">
<list>
<value>classpath*:com/javaeye/examples/joa/entity/*.hbm.xml</value>
<value>classpath:jbpm.repository.hbm.xml</value>
<!-- 以下几个jbpm.*.hbm.xml由jBPM自带 -->
<value>classpath:jbpm.execution.hbm.xml</value>
<value>classpath:jbpm.history.hbm.xml</value>
<value>classpath:jbpm.task.hbm.xml</value>
<value>classpath:jbpm.identity.hbm.xml</value>
</list>
</property>
...
</bean>
jbpm和spring结合,具体参考jbpm-4.3\install\src\cfg\spring\applicationContext.xml
...
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" />
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
...
问题1:
Caused by: org.hibernate.exception.ConstraintViolationException: could not delete:
[org.jbpm.pvm.internal.model.ExecutionImpl#7]
连接Mysql5时,jBPM4运行到 End结点时的错误,把org.hibernate.dialect.MySQLDialect改为 org.hibernate.dialect.MySQLInnoDBDialect
引用
MySQLInnoDBDialect继承自MySQLDialect
支持事务处理等高级处理,提供事务支持以及外部键等高级数据库功能。
InnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)、多版本并发控制(multi-versioned concurrency control)的事务安全(transaction-safe (ACID compliant))型表。InnoDB 提供了行级锁(locking on row level),提供与 Oracle 类似的不加锁读取(non-locking read in SELECTs)。InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读。另外InnoDB是为处理巨大数据量时的最大性能设计。它的CPU效率可能是任何其它基于磁盘的关系数据库引擎所不能匹敌的。MySQLInnoDBDialect基于上也就有InnoDB相同的功能.
InnoDB存储引擎被完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。 InnoDB存储它的表&索引在一个表空间中,表空间可以包含数个文件(或原始磁盘分区)。这与MyISAM表不同,比如在MyISAM表中每个表被存在分离的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上。
InnoDB是事务安全的.它与BDB类型具有相同的特性,它们还支持外键.InnoDB表格速度很快.具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它.如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表。
在 [url]http://www.innodb.com/ [/url]上可以找到 InnoDB 最新的信息。InnoDB 手册的最新版本总是被放置在那里,并且在那里可以得到 InnoDB 的商业许可(order commercial licenses)以及支持。
注意:数据库链接参考jbpm-4.3\install\src\cfg\hibernate\jdbc中的相应文件
分享到:
相关推荐
SSH+JBPM4.3的整合 JBPM4.3 转载别人的博客,里面包含2份整合框架的资料,2份关于JBPM的学习
SSH 与jbpm4.3 整合的资料以及ssh的jar包
jbpm4.3与spring整合的一个小文档
JBPM4.3的初学者视频, 包含了JBPM4.3的插件, 共9个,分开来上传了
JBPM4.3 整合struts2 hibernate spring 请假实例, lib下载,在我的另外资源,路径: http://download.csdn.net/source/2485359 http://download.csdn.net/source/2485373 http://download.csdn.net/source/2485385 ...
jbpm4.3,jbpm4.3工作流程管理例子
JBPM4.3用户手册JBPM4.3用户手册JBPM4.3用户手册
jbpm jbpm4.3.jar DDDDDDDD
jbpm4.3问题解决方法,我们根据您的错误给出针对性的解答!
jbpm4.3集成到tomcat、eclipse过程
某人写的整合SSJ和jBPM4.3的东西。
jbpm 4.3 与 spring 集成
JBPM4.3WEB应用,里面有一个关于请假流程的例子,基本上包含了JBPM4.3的一些常用的方法及服务类,也把它的新特性展现出来了。
超清晰的视频教程,有完整的例子,全面讲解了jbpm4.3,里面有代码,由于视频太大,给大家一个下载地址吧!!
JBPM4.3 整合SSH lib part7 源码在另外一个资源: http://download.csdn.net/source/2485339
JBPM4.3 整合SSH lib part3 源码在另外一个资源: http://download.csdn.net/source/2485339
JBPM4.3 整合SSH lib part1 源码在另外一个资源: http://download.csdn.net/source/2485339
JBPM4.3 整合SSH lib part3 源码在另外一个资源: http://download.csdn.net/source/2485339
JBPM4.3 整合SSH lib part6 源码在另外一个资源: http://download.csdn.net/source/2485339
JBPM4.3 整合SSH lib part5 源码在另外一个资源: http://download.csdn.net/source/2485339