本文简单描述了在Eclipse下,配置JBPM4.4这个工作流引擎编译环境的过程。
jBPM是JBOSS下的一个开源java工作流项目,该项目提供eclipse插件,基于Hibernate实现数据持久化存储。目前JBOSS已经出到jbpm6了。那么为什么要使用4.4这个版本呢?因为我主要是要让jBPM和Tomcat结合,在4.4版本中效果最好,而且网上的资料最多;而JBPM6这个版本主要依赖于就自家JBOSS平台。另外,JBPM4.4这个版本相对很成熟,BUG比较少,能使程序员少走很多弯路。
在没有指导或者参考资料的时候,配置JBPM的道路上坑其实是很多的。我自己也遇到了很多安装配置之前想都没有想到的问题。So keep calm, and do it!
##1. 在Eclipse中安装GPD GPD是一个JBPM图形化流程设定的一个工具。在编码的时候,GPD可以很好地实现流程可视化,非常的实用。
其安装的方式为: 点开Help->Install new software,寻找到jbpm目录下的install/src/jbpm-gpd-site.zip. 然后选中安装。
##2. 配置Runtime和JPDL XML的shema dtd 打开Eclipse Preferences, 进入jBoss jBPM Runtime Locations, 选择Add,明明为jbpm4.4,然后目录选中jbpm根目录即可。另外,我的Java JRE选的是1.7。
新建一个Project, 然后src中加入一个新的jpdl文件。当你编辑他的xml源文件时,可以发现他是没有任何标签信息的提示的,说明没有关联dtd。打开Preference, 选中XML Catalog, 点击Add, File System, 找到jbpm4.4/src/jpdl-4.4.xsd,选择添加。这样就关联上了,在编辑XML的时候就会有便签提示,方便我们编写。
##3. 导入jbpm.jar 打开Eclipse Preferences, 新建user library, 命名为jbpm4.4, 然后将lib中的所有jar包添加进这个library。另外,别忘记加入jbpm.jar这个核心包进入User Library。
然后对jbpm.jar加入Source,指向jbpm根目录下的src文件夹。
##4. 建立/配置文件jbpm.cfg.xml和jbpm.hibernate.cfg.xml
####jbpm.cfg.xml示例:
lang=xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?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" /> <import resource="jbpm.jobexecutor.cfg.xml" /> --> </jbpm-configuration >
####jbpm.hibernate.cfg.xml示例: 请修改这个文件主要是要修改数据库的链接方式,包括数据库的名称,密码,创建方式,方言引擎等等。我这里的示例是基于MySQL的。
lang=xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <?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://127.0.0.1:3306/jbpmtest?useUnicode=true&characterEncoding=UTF-8</property > <property name ="hibernate.connection.username" > jbpm</property > <property name ="hibernate.connection.password" > jbpm</property > <property name ="hibernate.hbm2ddl.auto" > update</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 >
修改完毕后,请导入Eclipse的项目中。
####Congratulations! 到这里,基本上一个Eclipse下的JBPM环境就搭建完毕了。