jbpm环境搭建

标签: jbpm 环境 | 发表时间:2014-03-06 12:00 | 作者:杨振华
出处:http://www.iteye.com
1.工作流
   使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。
   工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递。
2.Jbpm4.4介绍
  jbpm 即java Business Process Management,是基于java的业务流程管理系统引擎底层基于Active Diagram模型。jBPM4.4使用了hibernate(3.3.1版)。jBPM4.4共有18张表,用于存储业务流程数据。
  官方主页:http://www.jboss.org/jbpm
3.准备jbpm环境
  1>Eclipse3.5或以上版本,个人使用eclipse-jee-galileo-win32,下载地址
  http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/galileosr2
  2>Jbpm4.4
  http://sourceforge.net/projects/jbpm/files/jBPM%204/jbpm-4.4/
  3>eclipse流程设计器插件(GPD,Eclipse插件 )
  插件位于上面下载的jbpm4.4包中,具体位置:jbpm-4.4\install\src\gpd\jbpm-gpd-site.zip
  插件安装方法:
  Help --> Install New Software-->Add 如图: 

  Archive-->指定本地jbpm-gpd-site.zip这个路径 如图:

  勾选 JBPM JPDL4选项,且去掉Contact all update sites..选项-->Next 如图:

 
  查看是否成功安装了插件:WindowPreference中是否有Jboss jBPM项
  4>在Eclipse中添加jPDL4.4 Schema校验
  流程定义文件的xsd文件的路径为:jbpm-4.4\src\jpdl-4.4.xsd
  添加方法:
  Window --> Preferences 如图:

  
  
4.Jbpm测试案例test
  1>新建java项目Test
  2>导入jar包
  3>加入配置文件,具体可从下载的jbpm4.4包中拷贝,位置:jbpm-4.4\examples\src,本人引入三个配置jbpm.cfg.xml、jbpm.hibernate.cfg.xml、log4j.properties,修改jbpm.hibernate.cfg.xml文件,修改对应数据库配置。
  4>建表,修改jbpm.hibernate.cfg.xml设置hibernate.hbm2ddl.auto为update
  5>测试程序
  新建流程图new --jbpm 4 process definetion 如图:
  
  测试代码
package cn.yang.test;

import java.util.List;

import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.task.Task;
import org.junit.Test;

public class Test1 {

//核心对象
/**
* 创建流程引擎对象
* .setResource(resource):表示加载类路径下的jbpm.cfg.xml
*/
ProcessEngine processEngine =new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine();
//部署流程定义
@Test
public void testDeployDefinitionProcess(){
String deployementID = processEngine.getRepositoryService()//
.createDeployment()//
.addResourceFromClasspath("helloworld/helloworld.jpdl.xml")//
.addResourceFromClasspath("helloworld/helloworld.png")//
.deploy();
System.out.println("deployementID:"+deployementID);
}
//启动流程实例
@Test
public void startProcessInstance(){
String processDefinitionKey = "helloword";
ProcessInstance pi = processEngine.getExecutionService()//
                     .startProcessInstanceByKey(processDefinitionKey);
System.out.println("id:"+pi.getId());//helloword.1001
System.out.println("key:"+pi.getKey());
System.out.println("processDefinitionId:"+pi.getProcessDefinitionId());
}

//查询我的个人任务列表
@Test
public void testFindMyTaskList(){
String userId = "test1";//指定任务办理人
List<Task> list = processEngine.getTaskService()//
                               .findPersonalTasks(userId);
for(Task task:list){
System.out.println("id:"+task.getId());//任务的ID
System.out.println("name:"+task.getName());//任务的名称
System.out.println("assignee:"+task.getAssignee());//任务的办理人
System.out.println("createTime:"+task.getCreateTime());//任务的创建日期
System.out.println("executionID:"+task.getExecutionId());//任务的执行ID(暂时就是流程实例ID)
}
}

//办理我的个人任务
@Test
public void testCompleteMyTask(){
String taskId = "30001";
processEngine.getTaskService()//
                     .completeTask(taskId);
System.out.println("办理完成!");
}
}
  


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [jbpm 环境] 推荐:

jbpm环境搭建

- - 编程语言 - ITeye博客
   使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现.    工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递.   jbpm 即java Business Process Management,是基于java的业务流程管理系统引擎底层基于Active Diagram模型.

JBPM表结构

- - CSDN博客综合推荐文章
      JBPM全称——Java  Business PrcessManagerment(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开放的、灵活的、易扩展的可执行流程语言框架.        (1)它的业务逻辑定义没有采用目前的一些规范,而是采用了它自己定义的Jboss Jbpm Process Definition Language(jpdl).

JBPM之安装配置

- - Java - 编程语言 - ITeye博客
jbpm-4.X.zip) 下载下来,然后解压到你的硬盘上的什么地方. doc: 用户手册,javadoc和开发指南. examples: 用户手册中用到的示例流程. install: 用于不同环境的安装脚本. lib: 第三方库和一些特定的jBPM依赖库. jbpm.jar: jBPM主库归档. migration: 参考开发指南.

JBPM的表相关操作

- - 开源软件 - ITeye博客
--通过流程的编码获取该对应的流程定义. --通过单据号和ID获取任务实例(ID). --通过上条SQL的ID获取该实例下的所有任务. --通过上条SQL的ID获取该实例下的所有变量. --通过jbpm_processinstance 的 PROCESSDEFINITION_ 获取所有的节点. --通过jbpm_processinstance 的 PROCESSDEFINITION_ 获取所有的转向.

Jbpm工作流引擎学习日志

- - 行业应用 - ITeye博客
     jBPM是JBOSS下的一个开源java工作流项目,该项目提供eclipse插件,基于Hibernate实现数据持久化存储. 下载地址:http://pan.baidu.com/s/1ntr8t6L.     安装gpd、配置runtime环境、导入jbpm所需的jar包、创建配置文件jbpm.cfg.xml和jbpm.hibernate.cfg.xml.

JBPM具体应用之task节点的使用

- - CSDN博客综合推荐文章
task节点是最常用的节点之一,也因为执行任务的情况有很多种,所以他的用法也是多种多样的,本文主要讲解task的三种用法分别如下:. 1.candidate属性. 该熟属性在于task节点中,他的作用类似于组内工作分配,假如一个组内有两个人a1和a2,将该属性所在任务分配给两人中的一个后,则只有该任务被分配人才能看到任务,其他人都看不到.

JBPM学习(一):实现一个简单的工作流例子全过程

- - CSDN博客综合推荐文章
. . .

Hadoop环境搭建

- - 统计之都
Author:张丹(Conan). @晒粉丝 http://www.fens.me. @每日中国天气 http://apps.weibo.com/chinaweatherapp. RHadoop实践系列文章. RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析. Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来替代Java的MapReduce实现.

libgdx 环境搭建

- - CSDN博客推荐文章
1) libgdx 开发包下载: google code(最新 libgdx-0.9.7.zip    2012.11.12). 2) libgdx 主干源码下载: github tags. libgdx的android开发包主要有 gdx.jar, gdx-backend-android.jar,以及 armeabi 和 armeabi-v7a ( 区别).

solr4.0环境搭建

- - CSDN博客推荐文章
因近期想搞个知识库,所以选择solr,现在最新的solr是4.0,所以用solr4.0. 中文分词器 :ik-analyzer,mmseg4j. 安装:目前mmseg4j的版本是mmseg4j-1.9.0.v20120712-SNAPSHOT,经过测试,发现这个版本有bug:. 由于solr4.0对其中的有些类与方法做了调整,所以还是等待mmseg4j新版本修复吧.