Eclipse下jBPM4.4开发环境搭建

本文简单描述了在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" />

<!-- Job executor is excluded for running the example test cases. -->
<!-- To enable timers and messages in production use, this should be included. -->
<!--
<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&amp;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环境就搭建完毕了。