package com;
import java.util.HashMap;
import java.util.Map;
import org.drools.KnowledgeBase;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.logger.KnowledgeRuntimeLogger;
import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.process.ProcessInstance;
import org.drools.runtime.process.WorkItem;
/**
* @description: 泳道实例
* @author: 束文奇
* @createDate: 2013-8-29
* @version: v1.0
*/
public class Swimlane {
@SuppressWarnings("static-access")
public static void main(String[] args) throws Exception {
KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
builder.add(ResourceFactory.newClassPathResource("swimlane.bpmn"), ResourceType.BPMN2);
KnowledgeBase base = builder.newKnowledgeBase();
StatefulKnowledgeSession session = base.newStatefulKnowledgeSession();
KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(session, "case");
logger.close();
CustomWorkItemHandler handler = new CustomWorkItemHandler();
session.getWorkItemManager().registerWorkItemHandler("Human Task",handler);
ProcessInstance instance = session.startProcess("com.sample.bpmn");
//判断是否开始
boolean isStart = instance.getState()==instance.STATE_ACTIVE;
System.out.println("流程是否启动"+isStart);
//取得workItem;
WorkItem workItem = handler.getWorkItem();
System.out.println("任务名称:"+workItem.getName());
//取得ActorId
System.out.println("任务参与者:"+workItem.getParameter("ActorId"));
//结束当前任务,交给另外一个人结束任务
Map< String, Object> map = new HashMap<String, Object>();
map.put("ActorId", "陈鹏");//只能设置ActorId,其他属性不可以
//结束当前任务
session.getWorkItemManager().completeWorkItem(workItem.getId(), map);
//取得第二个任务的workItem
WorkItem workItem2 = handler.getWorkItem();
//取得workItem;
System.out.println("任务评论:"+workItem2.getParameter("Comment"));
//取得ActorId
System.out.println("任务参与者:"+workItem2.getParameter("ActorId"));
//结束整个流程
session.getWorkItemManager().completeWorkItem(workItem2.getId(), null);
//判断是否结束
boolean isEnd = instance.getState()==instance.STATE_COMPLETED;
System.out.println("流程是否结束"+isEnd);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
JBPM5.4 工作流例子
共270个文件
bpmn:86个
class:62个
java:61个
5星 · 超过95%的资源 需积分: 5 11 下载量 129 浏览量
2014-07-22
16:44:12
上传
评论
收藏 278KB ZIP 举报
温馨提示
这些是JBPM5.4 的一些例子。 jbpm5.4 资料实在少的可怜 希望可以帮助到大家学习
资源推荐
资源详情
资源评论
收起资源包目录
JBPM5.4 工作流例子 (270个子文件)
orderManagement.bpmn 23KB
orderManagement.bpmn 23KB
acceptanceOfAppointment.bpmn 16KB
acceptanceOfAppointment.bpmn 16KB
swimlane.bpmn 9KB
swimlane.bpmn 9KB
userTask.bpmn 9KB
userTask.bpmn 9KB
backstageService.bpmn 9KB
backstageService.bpmn 9KB
case.bpmn 9KB
case.bpmn 9KB
applyForReimbursement.bpmn 7KB
applyForReimbursement.bpmn 7KB
gateWayTset.bpmn 6KB
gateWayTset.bpmn 6KB
andOrXor.bpmn 6KB
andOrXor.bpmn 6KB
case.bpmn 6KB
case.bpmn 6KB
sample.bpmn 5KB
sample.bpmn 5KB
mulitipleSubProcess.bpmn 5KB
mulitipleSubProcess.bpmn 5KB
circulate.bpmn 5KB
circulate.bpmn 5KB
shuwenqi.bpmn 4KB
shuwenqi.bpmn 4KB
reusablesSubProcess.bpmn 4KB
reusablesSubProcess.bpmn 4KB
embeddeSubProcess.bpmn 4KB
embeddeSubProcess.bpmn 4KB
timerEventTest.bpmn 4KB
timerEventTest.bpmn 4KB
SignalEventTest.bpmn 3KB
SignalEventTest.bpmn 3KB
scriptTask.bpmn 3KB
scriptTask.bpmn 3KB
logTask.bpmn 3KB
logTask.bpmn 3KB
subProcess.bpmn 3KB
subProcess.bpmn 3KB
cwSystem.bpmn 2KB
cwSystem.bpmn 2KB
shuwenqi.bpmn 2KB
shuwenqi.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
emailTask.bpmn 2KB
emailTask.bpmn 2KB
shuwenqi.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
sample.bpmn 2KB
Swimlane.class 4KB
QueryUser.class 4KB
Case.class 3KB
EndUser.class 3KB
Case.class 3KB
BackstageService.class 3KB
OrderManagement.class 3KB
AcceptanceOfAppointment.class 3KB
UserTask.class 2KB
MulitipleSubProcess.class 2KB
CustomWorkItemHandler.class 2KB
CustomWorkItemHandler.class 2KB
Circulate.class 2KB
ServiceTasks.class 2KB
共 270 条
- 1
- 2
- 3
资源评论
- a6100092812015-03-09很多例子程序,不错!
Simple_HWD
- 粉丝: 0
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功