你要用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的过程主要涉及以下几个步骤: 1. **配置Spring**:在Spring配置文件中,需要添加对JBPM的依赖,包括数据源、session工厂、流程引擎等。Spring的事务管理器可以协调各个服务间的事务一致性。 2. *...
SSH与jbpm4.3的整合主要涉及以下几个方面: 1. **Struts2与jbpm4.3的集成**:Struts2作为前端控制器,负责处理用户的请求,并转发到相应的Action。jbpm4.3可以通过Struts2的拦截器或者Action类来启动、暂停、继续或...
### jbpm4.3与Spring框架的整合指南 在企业级应用开发中,流程管理引擎JBPM(JBoss Business Process Management)与Spring框架的结合使用是常见的一种技术方案。JBPM是一个灵活、强大的业务流程管理工具,而Spring...
作为开源项目,jbpm4.3拥有活跃的社区,用户可以获取到及时的技术支持和问题解答。同时,官方提供的详尽文档和教程,为初学者提供了很好的学习资源。 7. **部署与集成**: "content.jar"和"artifacts.jar"可能是...
### jBPM4.3与SSH环境搭建详解 #### 一、引言 jBPM (JBoss Business Process Management) 是一个开源的工作流管理系统,它提供了用于定义业务流程的工具和APIs。本文将详细介绍如何在开发环境中安装并配置jBPM4.3...
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是JBoss Business Process Management (BPM) Suite的一个版本,它是一个开源的企业级BPM平台,用于设计、执行和管理业务流程。在这个"jbpm4.3工作流程管理例子"中,我们将深入探讨jbpm4.3的核心特性和如何...
【JBPM4.3培训学习视频】是一套针对初学者设计的教程,旨在帮助学习者掌握JBPM4.3这一企业级工作流管理系统的核心概念和技术。JBPM是Java Business Process Management的缩写,是一个开源的工作流和业务流程管理平台...
jbpm4.3是Jboss Business Process Management (BPM)平台的一个版本,它是一个开源的工作流管理系统,用于设计、执行和管理业务流程。本篇主要针对jbpm4.3使用过程中遇到的问题及其解决方法进行详细阐述。 首先,...
整合SSJ和jBPM4.3,我们需要关注以下几个关键点: 1. **身份验证与授权**:SSJ负责用户的登录认证和权限分配,确保只有经过授权的用户可以访问特定的jBPM4.3流程或任务。这通常涉及到配置Spring Security的...
**jbpm4.3所需jar包** JBPM(Java Business Process Management)是一个开源的工作流管理系统,主要用于业务流程的建模、执行和管理。在JBPM 4.3版本中,为了实现完整功能,需要一系列的jar包来支持其运行环境。...
jbpm jbpm4.3.jar DDDDDDDD
jbPM 4.3 的核心架构由几个关键组件构成,包括流程定义引擎(Process Engine)、持久化存储(Persistence)、工作项管理(Task Service)以及事件处理(Event Processing)。这些组件协同工作,确保流程的执行、持久...
JBPM4.3 是一个基于工作流程管理的系统,旨在帮助用户更好地管理和自动化业务流程。下面是 JBPM4.3 的使用说明和相关知识点。 安装和整合 JBPM4.3 的安装包结构目录包括 doc、Example、Install、lib、Migration、...
【jbpm4.3视频教程+代码】是一个深入学习和实践Jbpm4.3的资源包,包含高质量的视频教程和相应的代码示例。Jbpm,全称Java Business Process Management,是一款开源的工作流管理系统,它允许开发者设计、部署和执行...
在jbpm4.3中,关键知识点主要包括以下几个方面: 1. **流程建模**:jbpm4.3支持BPMN 2.0标准,使得业务流程可以用图形化的方式进行建模。BPMN(Business Process Modeling Notation)是一种国际化的流程建模语言,...
1. **jbpm4.3**:jbpm(Java Business Process Management)是一个开源的工作流管理系统,版本4.3是其历史版本之一,用于业务流程自动化,支持BPMN2.0标准。 2. **集成环境**:jbpm4.3需要与应用服务器如Tomcat或...
JBPM4.3提供了几个关键的服务,如流程实例管理、任务服务和历史服务。流程实例管理允许启动新的流程实例,查询当前运行的实例,并控制它们的生命周期(如挂起、恢复或终止)。任务服务主要用于处理工作项的分配、...
SSH整合JBPM是一个常见的企业级应用开发场景,SSH指的是Spring、Struts和Hibernate这三个开源框架的集成,而JBPM则是一个强大的工作流管理系统。在这个整合过程中,SSH负责应用程序的架构和数据管理,而JBPM则提供了...