一、安装jBPM4.x插件(参考jBPM的userguide)
1、安装GPD(Graphical Process Designer),需要使用Eclipse3.5或者Myeclipse8.5以上
2、新建User Libraries,将jBMP的lib目录下的所有jar和jbpm.jar 加进来
3、制定好jBPM的位置,加到Location中
4、加载jpdl的xsd文档
二、jbpm安装包的解压目录及子目录含义:
doc:包括用户指南、Javadoc、Schemadoc已经开发指南;
examples:包括用户指南中不同环境的安装脚本
install:包括适用不同环境的安装脚本;
lib:包括jBPM依赖的第三方库和一些特定的归档包;
src:全部jBPM源代码;
jbpm.jar: jBPM源代码归档包文件;
migration:jBPM升级功能解决方案包
三、如何生成jBPM4.x的数据库表结构
1、可以利用schema来生成
2、或者利用hibernate来生成(推荐这种)
了解hbm2ddl
的属性:
hibernate.hbm2ddl.auto配置详解
hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如下:
Hibernate Reference Documentation 3.3.1解释如下:
Automatically validate or export schema DDL to the database when the SessionFactory is created.
With create-drop, the database schema will be dropped when the SessionFactory is closed explicitly.
eg. validate | update | create | create-drop
其实这个hibernate.hbm2ddl.auto参数的作用主要用于:自动创建|更新|验证数据库表结构。如果不是此方面的需求建议set value="none"。
create:每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。
create-drop :每次加载hibernate时根据model类生成表,但sessionFactory一关闭,表就自动删除。
update:最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等 应用第一次运行起来后才会。
validate :每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
如何创建jbmp4的数据库表结构
1、创建一个java_project项目,同时引人jbpm4.4的jar以及他本身所依赖的jar文件
2、copy jpbm解压目录下的\jbpm-4.4\examples\src的5个文件到classpath目录下:
jbpm.cfg.xml、jbpm.hibernate.cfg.xml、jbpm.mail.properties、jbpm.mail.templates.xml、logging.properties
3、修改jbpm.hibernate.cfg.xml文件中数据库连接的信息,这里我用mysql:
改为如下:
org.hibernate.dialect.MySQLDialectcom.mysql.jdbc.Driverjdbc:mysql://localhost:3306/jbpmroot1234nonetrue
4、在mysql创建数据库名为:jbpm,因为hbm2ddl可以生成数据库的表结构但不能创建数据库名
5、创建一个普通的Class,然后在main方法写入代码:
ProcessEngine processEngine = Configuration.getProcessEngine();
然后运行即可创建jBPM4的表结构,一共有18张数据表。代码见附件jbpm.rar
四、利用ProcessEngine流程引擎创建几个对外同样的Service API:
RepositoryService reositoryService = processEngine.getRepositoryService();
ExecutionService executionService = processEngine.getExecutionService();
TaskService taskService = processEngine.getTaskService();
HistoryService historyService = processEngine.getHistoryService();
ManagerService managerService = processEngine.getManagerService();
IdentityService identityService = processEngine.getIdentityService();
这6个Service API都位于org.jbpm.api包中:
RepositoryService :流程资源服务的接口。提供对流程定义的部署、查询、删除等操作。
ExecutionService:流程执行服务的接口。提供启动流程实例、“执行”推进、设置流程变量等操作。
TaskService:人工任务服务的接口。提供对任务(task)的创建、提交、查询、保存、删除等操作。
ManagerService:流程管理控制服务的接口。只提供异步工作相关的执行和查询操作。
HistoryService:流程历史服务的接口。提供对流程历史库(即已完成的流程实例归档)中历史流程实例、
历史活动实例等记录的查询操作。还提供诸如某个流程定义中所有活动的平均持续时间、
某个流程定义中转移的经过次数等数据分析服务。
IdentityService:身份认证服务的接口。提供对流程用户、用户组以及组成员关系的相关服务。
本文介绍jBPM4.x的工作流引擎安装步骤,包括插件安装、数据库表结构生成方法,并提供了核心Service API的使用示例。
254

被折叠的 条评论
为什么被折叠?



