jbpm4.4 demo1

package cn.itcast.a_helloworld;

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 HelloWorld_API {

	private static ProcessEngine processEngine;
	static {
		Configuration cfg = new Configuration();
		cfg.setResource("jbpm.cfg.xml");
		processEngine = cfg.buildProcessEngine();
	}

	// 1,部署流程定义文档
	@Test
	public void testDeployProcessDefinition() throws Exception {
		String id = processEngine.getRepositoryService()//
				.createDeployment()//
				.addResourceFromClasspath("helloworld/helloworld.jpdl.xml")//
				.addResourceFromClasspath("helloworld/helloworld.png")//
				.deploy();
		System.out.println(id);
	}

	// 2,启动流程实例
	/**
	  * 根据pdkey启动流程实例,是该key下,最高版本
	  */
	@Test
	public void testStartProcessInstance() throws Exception {
		ProcessInstance instance = processEngine.getExecutionService().startProcessInstanceByKey("hellokey");
		System.out.println(instance.toString());
		System.out.println(instance.getId() + "  " + instance.getKey() + "  " + instance.getName() + "  " + instance.getPriority() + "  " + instance.getProcessDefinitionId() + "  " + instance.getState()
				+  "  " + instance.getProcessInstance().toString() ) ;
	}

	// 3,查询我的任务列表
	@Test
	public void testFindMyTaskList() throws Exception {
		// 查询
		// String userId = "员工";
		 String userId = "部门经理";
		//String userId = "总经理";
		List<Task> list = processEngine.getTaskService().findPersonalTasks(userId);
		// 显示
		for (Task task : list) {
			System.out.println("id=" + task.getId() + ", name=" + task.getName() + ", assignee=" + task.getAssignee() + " " + task.getActivityName());
			System.out.println(task.getDescription() + "  " +  task.getFormResourceName() + "  " + task.getPriority() + "  " + task.getDuedate() + "  " + task.getCreateTime());
			System.out.println();
		}
	}

	// 4,办理任务
	@Test
	public void testCompleteTask() throws Exception {
		String taskId = "160002";
		processEngine.getTaskService().completeTask(taskId);
	}
}
<?xml version="1.0" encoding="UTF-8"?>

<process name="hellokey" key="hellokey" xmlns="http://jbpm.org/4.4/jpdl">
   <start g="115,21,48,48" name="start1">
      <transition g="-71,-17" name="to 提交申请" to="提交申请"/>
   </start>
   <end g="115,353,48,48" name="end1"/>
   <task assignee="员工" g="81,101,117,52" name="提交申请">
      <transition g="-78,-15" name="to 部门经理[审批]" to="部门经理[审批]"/>
   </task>
   <task assignee="部门经理" g="81,185,117,52" name="部门经理[审批]">
      <transition g="-95,-17" name="to 总经理[审批]" to="总经理[审批]"/>
   </task>
   <task assignee="总经理" g="81,269,117,52" name="总经理[审批]">
      <transition g="-47,-17" name="to end1" to="end1"/>
   </task>
</process>

下载demo

时间: 2024-08-28 10:24:59

jbpm4.4 demo1的相关文章

ios-表视图-demo1

// // RootViewController.m // uitableview // // Created by liyang on 14-4-27. // Copyright (c) 2014年 liyang. All rights reserved. // #import "RootViewController.h" @interface RootViewController () @end @implementation RootViewController - (id)in

在SSH2项目中添加JBPM4的开发环境

1.导入JBPM4开发所需的jar包,注意不要和原有的SSH2jar包冲突,启动tomcat,如果正常,则进行下一步的操作 2.将下面的JBPM4的映射文件代码,写入到hibernate.cfg.xml配置文件中: <!-- 导jpbm入映射文件 --> <mapping resource="jbpm.repository.hbm.xml" /> <mapping resource="jbpm.execution.hbm.xml" /&

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 install tool. 开始钻研工作流的东西,第一颗钉子,笔记之: 错误信息: jBPM4.4 no jBPM DB schema: no JBPM4_EXECUTION table.   Run the create.jbpm.schema target first in the instal

struts2 基础demo1

我们都知道 struts2 是基于webframework 出现的 优秀的mvc 框架, 他和struts1 完全没有联系.struts2 是一个框架, 啥叫框架呢?是一个优秀的半成品 . web的框架在java 中有 webframework  struts2  springmvc.... struts2 和struts1 区别 1.没有任何联系 2.struts2内核是webframework demo1: struts2 的入门demo: 1.web框架的过滤器 1 <!-- struts

struts2&amp;&amp;Hibernate Demo1

这篇文章和<struts1&&Hibernate Demo1>基本类似,我这里只是拷贝代码了. 最核心的代码:LoginAction.java package action; import org.hibernate.Session; import org.hibernate.Transaction; import hibernate.HibernateSessionFactory; import com.opensymphony.xwork2.ActionSupport; p

一、jBPM4.4开发环境配置

JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的.灵活的.易扩展的可执行流程语言框架.jBPM是公开源代码项目,使用它要遵循 ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)协议. 1.下载 jBPM 包,如下: 我这下载的是 4.4 版本的,将下载下来的解压 2.在 eclipse 中进行配置,e

百度前端学院---斌斌学院---任务demo---1

1 <!DOCTYPE html> 2 <html> 3 <!-- 4 作者:[email protected] 5 时间:2017-07-22 6 描述:demo1 7 --> 8 <head> 9 <meta charset="utf-8"> 10 <title> 任务1</title> 11 </head> 12 13 <body> 14 <label>请输入北

【代码篇】JBPM4.4开发流程节点(动态代理实现流程管理业务)

继之前的博客,[思想篇]工作流技术JBPM4.4开发入门(四),[思想篇]工作流技术JBPM4.4开发入门(五)本篇博客来结合代码简单说说,如何让流程来管理业务: 先来看看我们抽出来的代理类: StartAbstractJBPM:流程启动节点 package com.hjy.ssh.action; import com.hjy.ssh.beans.AbstractApply; import java.lang.reflect.Method; import java.lang.reflect.Pr

JBPM4.4+SSH2 Demo

1:一个JBPM4.4+SSH2的完整例子 含jar包: 2:业务流,非审批流: 3:绑定表单 下载地址: http://download.csdn.net/detail/hanxuemin12345/8181149