最近工作项目中需要用到工作流。于是找到了jbpm。关于jbpm的一些概念就不说了

1) 首先下载jbpm,这里我选择了jbpm4.4 从官网上可以下载  http://sourceforge.net/projects/jbpm/files/

下载完了之后,打开文件目录

doc: 文档说明

example:项目例子

install:安装的所需 ,  如eclipse插件,数据库脚本

lib:依赖包

src:源码

2) 下载完了,开始吧 jbpm插件安装到eclipse中

Help-install new Software

3) 插件安装好了, 开始配置jbpm数据库  , 我用的sqlserver,数据库JBPMTEST 。

4) 数据库建好。新建一个java项目,导入jbpm 目录下lib的jar包以及 jbpm.jar到自己的项目环境中

5) 然后copy  jbpm目录下jbpm-4.4\examples\src 下的

导入到自己项目中的src下

6) 最后修改一下  jbpm.hibernate.cfg.xml 这个配置文件,修改下数据库配置信息,这里需要注意一个属性

<property name="hibernate.hbm2ddl.auto">create-drop</property>

值为create-drop 会自动把数据库原先jbpm表删掉再新建

至此 ,jbpm配置也算搞定了 。下面开始写代码进行test吧

项目结构

建一个 test 的  jpdl 流程定义文件   ,JBPMTEST为程序入口进行测试

发布流程,


  1. ProcessEngine engine;  
  2.     public JBPMTEST() {  
  3.         engine=new Configuration().getProcessEngine();  
  4.     }  
  5.      public void setUp(){    
  6.          engine.getRepositoryService().createDeployment()    
  7.             .addResourceFromClasspath("com/aoy/resource/jbpm/test.jpdl.xml").deploy();    
  8.      }  
  9.        

查询已发布的流程


  1. public void pdList(){  
  2.  List<ProcessDefinition> definitions = engine.getRepositoryService().createProcessDefinitionQuery().list();  
  3.  for (int i = 0; i < definitions.size(); i++) {  
  4.      System.out.println(definitions.get(i).getDeploymentId());  
  5.      System.out.println(definitions.get(i).getDescription());  
  6.      System.out.println(definitions.get(i).getId());  
  7.      System.out.println(definitions.get(i).getName());  
  8. }  
  9. }  

启动流程实例


  1. public void testStartProcessInstance(){  
  2.            Map instanceVariables = new HashMap();  
  3.            instanceVariables.put("leaver", "小明"); //请假者  
  4.            instanceVariables.put("leaveDays", 7); //请假天数  
  5.            instanceVariables.put("reason", "老婆生孩子"); //请假事项/原因  
  6.            //启动流程实例  
  7.            ProcessInstance processInstance
  8. =engine.getExecutionService().startProcessInstanceByKey("test", instanceVariables);  
  9.            System.out.println("流程实例"+processInstance.getId()+"创建!");  
  10.            System.out.println(processInstance.getKey());  
  11.            System.out.println(processInstance.getName());  
  12.            System.out.println(processInstance.getProcessDefinitionId());  
  13.            System.out.println(processInstance.getState());  
  14.            System.out.println(processInstance.getPriority());  
  15.   
  16.         }  
  17.        

查询已经启动的流程实例


  1. public void piList(){  
  2.      List<ProcessInstance> pis=engine.getExecutionService().createProcessInstanceQuery().list();    
  3.       for (ProcessInstance processInstance : pis) {    
  4. //        System.out.println(processInstance.getIsProcessInstance());    
  5.         System.out.println(processInstance.getId());  
  6.         System.out.println(processInstance.getExecutionsMap());  
  7.     }    
  8.        



mark 一下  初步了解 ,待续。。。

Jbpm4.4 使用的更多相关文章

  1. jBPM4.4 no jBPM DB schema: no JBPM4_EXECUTION table. Run the create.jbpm.schema target first in the install tool.

    jBPM4.4 no jBPM DB schema: no JBPM4_EXECUTION table. Run the create.jbpm.schema target first in the ...

  2. JBPM4.4业务流程管理框架详细解读

    1. 什么是JBPM4.4业务流程管理框架? JBPM,全称是JavaBusiness Process Management(业务流程管理),它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的 ...

  3. Tomcat6环境JBPM4.4报错:java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleResolver

    Tomcat6环境JBPM4.4报错:java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleResolver 报错信息:

  4. JBPM4.4学习API

    一.流程引擎API org.jbpm.api.ProcessEngine是jbpm4所有的Service API 之源. 既所有的Service API(服务接口)都从ProcessEngine中获取 ...

  5. SSH整合JBPM4.4

    第一步:导入所需jar包: 所需的jar包(使用了hibernate annotation和struts2的convention-plugin,可能有多余的包,没做清理): 第二步:修改jbpm配置文 ...

  6. JBPM4.4+SSH 整合配置及完整实例

    整合jBPM4.4+ssh过程(spring接管struts2和hibernate,例中都整合在application.xml中,没有单独的jbpm.hibernate.cfg.xml): 1.在se ...

  7. Myeclipse10 + JBPM4.4 环境搭建图文教程

    一.软件环境 IDE:Myeclipse10.0 (jbpm4.0以上版本好像只能与Myeclipse7.5以上版本集成) JBPM:4.4 与Myeclipse集成 1.解压jbpm-4.4.zip ...

  8. JBPM4.4与SSH2之整合

    JBPM4.4与SSH2之整合(附完整源码) 这是我来到这世上二十多年来,第二次写博客啊.哈哈  这些天,想着把jbpm4.4与ssh2整合一下,由于之前从来没用过jbpm,也不知道各版本之间会有什么 ...

  9. Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合例子(附完整的请假流程例子,jbpm基础,常见问题解决)

    Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8 整合例子(附完整的请假流程例子). 1.jbpm4.4 测试环境搭建 2.Jbpm4.4+hibernat ...

  10. JBPM4之decision节点:2、好学生|坏学生|超级学生

    JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件 JBPM4入门——3.JBPM4开发环境的搭建 JBPM4入门—— ...

随机推荐

  1. js-form表单元素的自定义属性

      form表单元素的自定义属性 CreateTime--2016年9月22日09:03:40 Author:Marydon 场景: <script type="text/javasc ...

  2. top(topas),vmstat,iostat在linux和AIX操作系统下显示情况

    top(topas),vmstat,iostat在linux和AIX操作系统下显示情况 分类: Linux基础 2013-08-09 17:26 1093人阅读 评论(0) 收藏 举报 详细列出各命令 ...

  3. 在启动vsftpd,有时会报错

    在启动vsftpd,有时会报错:C:>ftp 192.168.0.101Connected to 192.168.0.101.220 (vsFTPd 2.0.5)User (192.168.0. ...

  4. iOS仿支付宝芝麻信用仪表盘效果

    概述 自定义View之高仿支付宝芝麻信用分数仪表盘动画效果 详细 代码下载:http://www.demodashi.com/demo/10654.html 仿支付宝芝麻信用仪表盘效果 一.主要思路 ...

  5. jsp中Undefined type: xxxx...

    在测试jsp的动作元素<jsp:useBean >时,写了一个计数器的栗子: JavaBean: package com.pers.count; /** * @author liangya ...

  6. HDUOJ-----1098 Ignatius's puzzle

    Ignatius's puzzle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  7. Hibernate 、 Axis2发布

    1. you just compile your web-service into aar file (not include bean files), copy the aar into axis2 ...

  8. iOS archive(归档)

    归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存(实际上是一种文件保存的形式),浏览网上的一些资料后,并结合自己的一些经验,总结成此文. 一.使用archiveRootObject进 ...

  9. Windows下面安装和配置MySQL(5.6.20)

    1.首先到http://dev.mysql.com/ 上下载windows版mysql5.6免安装zip包.然后将zip包解压到D:\mysql-5.6.20-winx64下. 2.复制mysql下的 ...

  10. iOS - Label 数字动态变化

    1.数字动态变化 具体实现代码见 GitHub 源码 QExtension QCountingLabel.h /// 文本数字变化方式枚举 typedef NS_ENUM(NSUInteger, QC ...