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>
jbpm4.4 demo1的更多相关文章
- 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 ...
- JBPM4.4业务流程管理框架详细解读
1. 什么是JBPM4.4业务流程管理框架? JBPM,全称是JavaBusiness Process Management(业务流程管理),它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的 ...
- struts2 基础demo1
我们都知道 struts2 是基于webframework 出现的 优秀的mvc 框架, 他和struts1 完全没有联系.struts2 是一个框架, 啥叫框架呢?是一个优秀的半成品 . web的框 ...
- struts2&&Hibernate Demo1
这篇文章和<struts1&&Hibernate Demo1>基本类似,我这里只是拷贝代码了. 最核心的代码:LoginAction.java package action ...
- Tomcat6环境JBPM4.4报错:java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleResolver
Tomcat6环境JBPM4.4报错:java.lang.ClassNotFoundException: de.odysseus.el.util.SimpleResolver 报错信息:
- JBPM4.4学习API
一.流程引擎API org.jbpm.api.ProcessEngine是jbpm4所有的Service API 之源. 既所有的Service API(服务接口)都从ProcessEngine中获取 ...
- SSH整合JBPM4.4
第一步:导入所需jar包: 所需的jar包(使用了hibernate annotation和struts2的convention-plugin,可能有多余的包,没做清理): 第二步:修改jbpm配置文 ...
- JBPM4.4+SSH 整合配置及完整实例
整合jBPM4.4+ssh过程(spring接管struts2和hibernate,例中都整合在application.xml中,没有单独的jbpm.hibernate.cfg.xml): 1.在se ...
- Myeclipse10 + JBPM4.4 环境搭建图文教程
一.软件环境 IDE:Myeclipse10.0 (jbpm4.0以上版本好像只能与Myeclipse7.5以上版本集成) JBPM:4.4 与Myeclipse集成 1.解压jbpm-4.4.zip ...
随机推荐
- 浅谈HTTP响应拆分攻击
在本文中,我们将探讨何谓HTTP响应拆分以及攻击行为是怎样进行的.一旦彻底理解了其发生原理(该原理往往被人所误解),我们就可以探究如何利用响应拆分执行跨站点脚本(简称XSS).接下来自然就是讨论如果目 ...
- POJ 3159 Candies(差分约束)
http://poj.org/problem?id=3159 题意:有向图,第一行n是点数,m是边数,每一行有三个数,前两个是有向边的起点与终点,最后一个是权值,求从1到n的最短路径. 思路:这个题让 ...
- ZOJ - 2615 Cells
注意数组别开太小了,代码照着训练经典打的: #include <iostream> #include <sstream> #include <cstdio> #in ...
- easyui源码翻译1.32--accordion(手风琴)
前言 前几天加班比较忙 未能及时更新翻译的 今天多发布几篇..下载该插件翻译源码 Accordion 分类空间允许用户使用多面板,但在同一时间只会显示一个.每个面板都内建支持展开和折叠功能.点击一个面 ...
- Django单元测试(二)------测试工具
The test client test client是一个python类,来模拟一个简单的“哑”浏览器,允许你来测试你的view函数.你可以使用test client完成下列事情: 1.模拟&quo ...
- 手势识别官方教程(7)识别缩放手势用ScaleGestureDetector.GestureDetector和ScaleGestureDetector.SimpleOnScaleGestureListener
Use Touch to Perform Scaling As discussed in Detecting Common Gestures, GestureDetector helps you de ...
- .NET平台上的Memcached客户端介绍(Memcached Providers)
早上接到一个任务,需要对Linux服务器的Memcached的update操作进行性能测试,我发现我是一个典型的“手里拿着锤子,就把所有问题都当成钉子”的人.我第一个念头就是,上Memcached的官 ...
- Microsoft SQL Server,错误:2;SQL Server配置管理器(本地)—远程过程调用失败
本机是先安装sqlserver2008,后安装vs2012 在安装sqlserver2008后,运行sqlserver2008正常,接着安装vs2012,再运行sqlserver2008,问题出现了, ...
- [未解出,hzwer]挖掘机
挖掘机(dig.*) 背景 附中机房谁最虚?高二一班***!感觉很顺,是吧? 题目描述 今天,丧尸czy开着挖掘机去上学(……).但是他发现他的mz满天下,所以一路上他碰到了好多他的mz.一开始他以1 ...
- WordPress更新服务加快收录
WordPress更新服务的设置在后台"设置"-"撰写".更新服务下的文本框中默认为http://rpc.pingomatic.com/.该地址网站Ping-o ...