本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google
链接:
JBPM入门系列文章:
JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件
JBPM4入门——4.封装流程管理的工具类(JbpmUtil)
1.在eclipse中新建web项目
new --> web --> Dynamic Web Project
2.导jar包
2.1、导jbpm的核心jar包:jbpm.jar
2.2、导其他依赖的jar包:Struts,mysql之类的。这里就不做过多介绍
3.复制相关的xml文件
在jbpm-4.4\jbpm-4.4\examples\src下 把以下文件都复制到项目的src下
3.1导完xml文件:然后修改jbpm.hibernate.cfg.xml文件以便于连接到自己的数据库
前提是需要在mysql中建立jbpm的对应数据库
<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://localhost:3306/jbpm</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<property name="show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
4.画流程图:
在src下新建一个流程图文件hello.jpdl.xml
生成的相应xml文件为:
<?xml version="1.0" encoding="UTF-8"?> <process name="hello" xmlns="http://jbpm.org/4.4/jpdl">
<start name="start1" g="-1,173,48,48">
<transition name="to state1" to="state1" g="-59,-17"/>
</start>
<end name="end1" g="755,177,48,48"/>
<state name="state1" g="138,170,92,52">
<transition name="to state2" to="state2" g="-33,-16"/>
</state>
<state name="state2" g="323,170,92,52">
<transition name="to state3" to="state3" g="-59,-17"/>
</state>
<state name="state3" g="524,173,92,52">
<transition name="to end1" to="end1" g="-47,-17"/>
</state>
</process>
5.测试
package com.test.test; import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.RepositoryService; public class Test {
public static void main(String[] args) {
ProcessEngine processEngine = Configuration.getProcessEngine();
//RepositoryService 是管理流程定义的发布、删除、查询等操作
RepositoryService resRepositoryService = processEngine.getRepositoryService();
//发布流程
resRepositoryService
.createDeployment()
.addResourceFromClasspath("hello.jpdl.xml")
.deploy();
}
}
6.查看数据库中的表结果:
之前jbpm中是没有一张表的:现在自动帮我们生成了这么多表
打开jbpm4_deployprop表查看里面的数据:刚才的那个hello流程已经发布的数据库中了