本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google
链接:

JBPM入门系列文章:

JBPM4入门——1.jbpm简要介绍

JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件

JBPM4入门——3.JBPM4开发环境的搭建

JBPM4入门——4.封装流程管理的工具类(JbpmUtil)

JBPM4入门——5.流程定义的发布、查询、删除

JBPM4入门——6.流程实例的创建和执行

JBPM4入门——7.等待节点的单条线手动执行

JBPM4入门——8.等待节点的分支执行

JBPM4入门——9.自动节点单线执行

1.在eclipse中新建web项目
new --> web --> Dynamic Web Project
2.导jar包
     2.1、导jbpm的核心jar包:jbpm.jar

JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP

2.2、导其他依赖的jar包:Struts,mysql之类的。这里就不做过多介绍

JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP
 
 3.复制相关的xml文件
 在jbpm-4.4\jbpm-4.4\examples\src下 把以下文件都复制到项目的src下

JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP

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

JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP
JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP
 
 生成的相应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入门——3.JBPM4开发环境的搭建-LMLPHP

打开jbpm4_deployprop表查看里面的数据:刚才的那个hello流程已经发布的数据库中了
JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP

  • JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP
  • 大小: 24.9 KB
  • JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP
  • 大小: 320.2 KB
  • JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP
  • 大小: 41.7 KB
  • JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP
  • 大小: 56.9 KB
  • JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP
  • 大小: 28.2 KB
  • JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP
  • 大小: 105.5 KB
  • JBPM4入门——3.JBPM4开发环境的搭建-LMLPHP
  • 大小: 43.3 KB
05-01 00:12