本博文只是简要对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

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流程已经发布的数据库中了

  • 大小: 24.9 KB
  • 大小: 320.2 KB
  • 大小: 41.7 KB
  • 大小: 56.9 KB
  • 大小: 28.2 KB
  • 大小: 105.5 KB
  • 大小: 43.3 KB

JBPM4入门——3.JBPM4开发环境的搭建的更多相关文章

  1. Kinect for Windows SDK开发入门(一):开发环境配置

    [译]Kinect for Windows SDK开发入门(一):开发环境配置 前几天无意中看到微软发布了Kinect for windows sensor,进去看了一下Kinect应用的例子,发现K ...

  2. windows下vue开发环境的搭建

    一 介绍: vue.js是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库 ...

  3. Windows 8 Metro 应用开发入门(一):开发环境介绍

    摘 要 Windows8已经发布,随之而来的基于WinRT的Metro应用也正向我们走来,正像它所宣传的:光滑.快.现代.看习惯了玻璃.立体风格的应用,或许Metro的简洁能给你留下不一样的体验.Vi ...

  4. CAD控件,CAD插件使用教程:Android开发使用控件--开发环境的搭建

    Android开发使用控件入门--环境搭建 2014-12-24 09:57     14人阅读     评论(0)     收藏         编辑     删除 CAD控件.CAD三维控件,手机 ...

  5. arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc)

    arm-linux-gnueabihf-gcc下载 qt下载 arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc) Ubuntu 16.04 安装QT arm嵌入式 ...

  6. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  7. Idea开发环境中搭建Maven并且使用Maven打包部署程序

    1.配置Maven的环境变量 a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示: b.配置M2_HOME的环境变量,然后将该变量添加到Path中 备注:必须要有JAVA_HOM ...

  8. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  9. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

随机推荐

  1. ant+jmeter+crontab实现自动化性能测试

    准备工作: 1.下载jmeter(我下载的apache-jmeter-2.13.zip) 2.配置jmeter环境变量,即path前添加jmeter的bin路径) 3.下载ant(我使用的apache ...

  2. lintcode:买卖股票的最佳时机 III

    买卖股票的最佳时机 III 假设你有一个数组,它的第i个元素是一支给定的股票在第i天的价格.设计一个算法来找到最大的利润.你最多可以完成两笔交易. 样例 给出一个样例数组 [4,4,6,1,1,4,2 ...

  3. AngularJS学习笔记1——什么是AngularJS?

    Angular JS是一个由Google维护的开源的Javascript框架,主要作者为: Misko Hevery(angular JS之父, Sr. Computer Scientist at G ...

  4. iOS xcode缓存问题

    Question: When I try to build my app in Xcode, I get this error message:PCH file built from a differ ...

  5. Friends(老友记)(六人行)相关资源

    迅雷账号:104303980 老友记 Friends 的所有种子: http://www.ttmeiju.com/meiju/Friends.html 老友记(friends)高清(720p)+字幕 ...

  6. 可视化MNIST之降维探索Visualizing MNIST: An Exploration of Dimensionality Reduction

    At some fundamental level, no one understands machine learning. It isn’t a matter of things being to ...

  7. DbProviderFactories.GetFactoryClasses

    using System.Data.Common; private void Method1() { DataTable table = DbProviderFactories.GetFactoryC ...

  8. emplace_back减少内存拷贝和移动

    --------<深入应用C++11:代码优化与工程级应用>第2章使用C++11改进程序性能,本章将分别介绍右值引用相关的新特性.本节为大家介绍emplace_back减少内存拷贝和移动. ...

  9. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  10. ogre世界坐标鱼屏幕坐标相互转换

    bool worldCoordToScreen(Vector3 objPos, Camera* cam, Vector2 screenRect,  Vector2& screenPos) { ...