`
gy090028
  • 浏览: 27825 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JBPM4.4 环境搭建

 
阅读更多

1、安装GPD(eclipse图形化设计工具)

 

      1)gpd插件所在目录:jbpm-4.4\install\src\gpd\jbpm-gpd-site.zip

   2)安装插件:Eclipse菜单 Help-->Install New Softwore...打开Install窗口;在Install窗口点击 Add...打开Add Repository窗口;在Add Repository窗口点击Archive...在插件所在目录选择jbpm-gpd-site.zip。

  3)安装完成会提示是否重启Eclipse,选择重启。

     4)配置window--> Prefrences-->JBoss JBPM-->runtime环境为 jpbm-4.4根目录

 

2、配置JPDL xml的schema

    方便自动提示配置流程

    打开eclipse->window->Preferences->XML->XMLCatelog->add->FileSystem->jbpm4.4根目录src下jpdl-4.4.xsd选中确定.

3、导入开发用jpbm jar包

4、建立配置文件jbpm.cfg.xml和jbpm.hibernate.cfg.xml

5、设计开发

 

 

 

1、使用的相关开发工具软件。

  1)Eclipse IDE for Java EE Developers(Eclipse 4.2)

  2)jBPM4.4

  3)MySQL5.5

2、配置在Eclipse中设计流程的gpd插件。

  1)gpd插件所在目录:jbpm-4.4\install\src\gpd\jbpm-gpd-site.zip

  2)安装插件:Eclipse菜单 Help-->Install New Softwore...打开Install窗口;在Install窗口点击 Add...打开Add Repository窗口;在Add Repository窗口点击Archive...在插件所在目录选择jbpm-gpd-site.zip。

  3)安装完成会提示是否重启Eclipse,选择重启。

3、配置jBPM的Runtime Locations。

  1)Eclipse菜单 Window-->Preferences-->JBoss jBPM-->Runtime Locations

  2)在Runtime Locations窗口点击Add...打开Add Location窗口,Name:起个名字,如jBPM4.4;Location:选择jBPM4.4的解压安装目录。

4、使用单元测试实现First jBPM4。

  1)新建一个Java Project,取名FirstJBPM4。

  2)把jbpm-4.4\jbpm.jar和jbpm-4.4\lib下的所有jar文件添加到项目的classpath路径下。(或者把jBPM4.4的所有jar配置成一个User Library,然后在项目中直接引用)

  3)把jbpm-4.4\examples\src目录下的jbpm.cfg.xml、jbpm.hibernate.cfg.xml和logging.properties加入到项目的src目录下。

  4)FirstJBPM4项目结构如下。



  5)修改jbpm.hibernate.cfg.xml文件,配置数据库相关信息。

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
  <session-factory>
  
    <!-- 数据库信息 -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm4</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>

        <!-- 其他配置 -->
        <property name="hibernate.show_sql">false</property>
        <property name="hibernate.hbm2ddl.auto">update</property>

        <!-- 映射文件 -->
        <mapping resource="jbpm.repository.hbm.xml" />
        <mapping resource="jbpm.execution.hbm.xml" />
        <mapping resource="jbpm.history.hbm.xml" />
        <mapping resource="jbpm.task.hbm.xml" />
        <mapping resource="jbpm.identity.hbm.xml" />
     
  </session-factory>
</hibernate-configuration>

 6)在MySQL中建立一个数据库叫jbpm4。

 

create database jbpm4 default character set utf8;

    找到jbpm-4.4\install\src\db\jbpm.mysql.create.sql

    修改文件  type=InnoDB  为engine=InnoDB, 使用

    mysql -uroot -p12345 <D:\jbpm\jbpm-4.4\install\src\db\create\jbpm.mysql.create.sql

    导入数据库脚本

7)在项目名称上点击右键New-->Source Folder,取名process。process和src是同级的,在process下存放流程定义文件。

  8)设计请假流程定义文件。在process下建立一个Package叫leave,然后leave上点击右键New-->jBPM Process Definition,取名Leave。



 

 

   9)画流程图,用assignee分配相应的任务处理人员。



 

 Leave.jpdl.xml文件如下

<?xml version="1.0" encoding="UTF-8"?>

<process name="Leave" xmlns="http://jbpm.org/4.4/jpdl">
   <start name="start1" g="303,8,48,48">
      <transition name="to 提出申请" to="提出申请" g="-67,-20"/>
   </start>
   <end name="end1" g="303,340,48,48"/>
   <task name="提出申请" g="281,88,92,52" assignee="[员工]小李">
      <transition name="to 部门经理审批" to="部门经理审批" g="-91,-20"/>
   </task>
   <task name="部门经理审批" g="281,172,92,52" assignee="[部门经理]李总">
      <transition name="to 总经理审批" to="总经理审批" g="-79,-20"/>
   </task>
   <task name="总经理审批" g="281,256,92,52" assignee="[总经理]张总">
      <transition name="to end1" to="end1" g="-45,-20"/>
   </task>
</process>

   整个流程就是:[员工]小李提出申请--》[部门经理]李总审批--》[总经理]张总审批

 10)单元测试代码。

package cn.luxh.jbpm4;

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 JBPM4Test {
    
       //建立jBPM4.4的数据库表
        @Test
        public void testCreateSchema() {
            new org.hibernate.cfg.Configuration().configure("jbpm.hibernate.cfg.xml").buildSessionFactory();
        }
        
        //流程引擎,通过流程引擎获取各种服务接口
        private ProcessEngine processEngine = Configuration.getProcessEngine();
        
        
        //部署流程定义
        @Test
        public void testDeployProcessDefinition() {
            processEngine.getRepositoryService()
                                .createDeployment()
                                .addResourceFromClasspath("leave/Leave.jpdl.xml")
                                .addResourceFromClasspath("leave/Leave.png").deploy();
        }
        
        //启动流程实例
        @Test
        public void testStartProcessInstance() {
            ProcessInstance processInstance = processEngine.getExecutionService().startProcessInstanceByKey("Leave");
            System.out.println("processInstance id is:"+processInstance.getId());
            System.out.println("processInstance key is:"+processInstance.getKey());
            System.out.println("processInstance name is:"+processInstance.getName());
        }
        
        //查找用户待办任务
        @Test
        public void testFindTasksByUserId() {
            String userId = "[员工]小李";
            //String userId = "[部门经理]李总";
            //String userId = "[总经理]张总";
            List<Task> tasks = processEngine.getTaskService().findPersonalTasks(userId);
            for(Task task : tasks) {
                System.out.println("当前处理人:"+task.getAssignee()+" 当前任务:"+task.getName());
            }
        }
        
        //处理待办
        @Test
        public void testCompleteTask() {
            String userId = "[员工]小李";
            //String userId = "[部门经理]李总";
            //String userId = "[总经理]张总";
            List<Task> tasks = processEngine.getTaskService().findPersonalTasks(userId);
            for(Task task : tasks) {
                processEngine.getTaskService().completeTask(task.getId());
            }
        }
        
}

 

 

分享到:
评论

相关推荐

    JBPM4.4视频教程(22集附源码)

    资源名称:JBPM4.4视频教程(22集附源码)资源目录:【】(01)jbpm4.4简介【】(02)JBPM4.4开发环境搭建【】(03)jbpm4.4环境搭建续【】(04)jbpm4.4配置文件和开发前准备【】(05)jbpm4.4部署流程发起流程实例【】(06)...

    jBPM4.4开发实例

    **二、jBPM4.4开发环境搭建** 1. **安装JDK**:jBPM需要Java环境支持,确保安装了JDK并设置好环境变量。 2. **下载jBPM**:访问官网获取jBPM4.4的发行版,解压到本地目录。 3. **集成IDE**:常用IDE如Eclipse或...

    jBPM4.4开发指南

    ### jBPM4.4开发指南关键知识点解析 ...以上内容详细介绍了 jBPM4.4 的基本概念、特性以及如何搭建开发环境。这对于初学者来说是非常有用的参考资料,可以帮助他们快速入门并掌握 jBPM4.4 的核心知识和技术要点。

    JBPM4环境搭建

    在本文中,我们将深入探讨如何搭建JBPM4.4的开发环境,这对于理解工作流管理以及进行相关开发工作至关重要。 首先,我们需要了解JBPM4.4的主要特性。JBPM4.4是JBPM的一个重要版本,它包含了对BPMN 2.0的支持,这是...

    jBPM4.4 详解 API 中文

    ### jBPM4.4 API 详解:工作流自动化的核心技术 ...以上步骤不仅为jBPM4.4的开发环境搭建提供了详实的指南,同时也深入解析了工作流自动化的基本原理与jBPM4.4的工作机制,为IT从业者及开发者提供了宝贵的参考资料。

    JBPM4.4例子

    **JBPM4.4入门详解** JBPM,全称Java Business Process Management,是一个开源的工作流管理系统,用于管理和执行业务流程。JBPM4.4是该系统的一个特定版本,它提供了全面的工作流支持,包括流程设计、执行、监控和...

    jbpm4.4请假例子,eclipse工程

    【jbpm4.4请假例子】是一个基于jbpm4.4流程引擎的示例项目,它展示了一个在Eclipse环境中开发的请假流程。jbPM(Java Business Process Management)是一个开源的工作流和业务流程管理框架,它允许开发者设计、执行...

    Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合

    JBPM4.4提供了ant脚本以方便快速搭建运行环境,同时也可以将其集成到开发环境中。在MyEclipse中,安装jbpm-myeclipse插件可以实现对流程图的编辑和调试。 **2. 整合环境搭建** 整合JBPM4.4、Hibernate3.5.4、Spring...

    jbpm4.4的安装myeclipse配置还有helloworld实例

    ### jBPM 4.4 开发环境搭建与 HelloWorld 实例详解 #### 一、jBPM 4.4 开发环境搭建 ##### 1.1 准备所需工具 为了构建一个完整的 jBPM 4.4 开发环境,我们需要准备以下工具: - **jBPM 4.4**: `jbpm-4.4.zip` - **...

    jBPM 4.4 开发指南pdf版

    介绍了如何通过Maven仓库来获取jBPM 4.4的相关依赖库,这对于快速搭建开发环境至关重要。 ##### 1.5 依赖库 列出了jBPM 4.4运行时所需的主要依赖库,包括但不限于Spring框架、Hibernate等,这些库是jBPM正常运行的...

    JBPM4.4教程

    #### 一、JBPM4.4简介及环境搭建 JBPM(JBoss Business Process Management)是一款开源的工作流引擎,主要用于实现业务流程管理(BPM)。JBPM4.4是该系列的一个稳定版本,本文将详细介绍如何从零开始构建一个JBPM...

    JBPM4.4入门开发实例

    在本文中,我们将探讨如何使用myeclipse7.5来搭建基于JBPM4.4的开发环境,并通过一个实际的请假流程实例深入理解其工作原理。 **一、JBPM概述** JBPM的核心功能包括: 1. **流程建模**:使用BPMN(Business ...

    Myeclipse8.6搭建jbpm4.4的开发环境文档

    本教程将详细阐述如何在Myeclipse8.6上搭建jbpm4.4的开发环境,帮助开发者快速入门jbpm流程管理系统的开发。 首先,我们需要了解Myeclipse8.6。这是一款强大的Java集成开发环境,它基于Eclipse平台,提供了丰富的...

    jBPM4.4工作流开发指南(改进版)

    jBPM4.4工作流开发指南(改进版) 开发环境搭建

    jBPM4.4 安装在Tomcat+MySql环境

    ### jBPM4.4 在 Tomcat + MySQL 环境下的安装指南 #### 一、准备工作 在开始安装之前,我们需要确保以下几项准备工作已经完成: 1. **下载相关软件**: - [jBPM 4.4](http://sourceforge.net/projects/jbpm):一...

    jBPM4.4课程文档.doc

    #### 三、jBPM 4.4 环境搭建 **1. 环境需求:** - **Java 环境:** JDK 版本 5 或更高版本。 - **Apache Ant:** 版本 1.7.0 或更高版本。 **2. 资源下载:** - **jBPM 下载地址:** [jBPM SourceForge 项目页面]...

    jbpm4.4中文用户手册

    用户手册将详细指导如何下载jbpm4.4,设置开发环境,包括Java环境、Eclipse IDE的集成,以及数据库的配置。同时,还会介绍如何搭建服务器并部署jbpm实例。 3. **流程设计** 使用jbpm提供的建模工具,如Jbpm ...

    jbpm4.4 工作流框架 笔记

    要搭建jBPM4.4开发环境,首先需要确保拥有JDK 5或更高版本,以及Apache Ant 1.7.0或更高版本。接着,可以从SourceForge.net下载jBPM4.4及其配套的Eclipse IDE for Java EE Developers(例如,Version 3.5)。Eclipse...

    jbpm4.4用户手册

    对于初次接触jBPM的用户,建议按照用户手册中的“快速上手”章节进行操作,这将引导你完成基本的环境搭建,并通过示例流程快速体验jBPM的功能。 #### 结语 jBPM 4.4 不仅是一款强大的工作流引擎,还是一套完整的...

Global site tag (gtag.js) - Google Analytics