- 浏览: 268694 次
- 性别:
- 来自: 新乡
文章分类
- 全部博客 (227)
- servciemix (10)
- db (18)
- javaTools (4)
- hibernate (31)
- web (3)
- spring (14)
- design pattern (4)
- java security (3)
- portal (1)
- ejb (6)
- session (2)
- java_lang (21)
- jbpm (29)
- struts (7)
- orgRights (2)
- project manager Jira (7)
- 跨库事务 (2)
- mysql (14)
- ubuntu (7)
- osgi (9)
- maven ant make (4)
- 分布式 高并发 高性能 (5)
- virgo-dm_server (0)
- osgi web (3)
- platform (1)
- smooks (1)
- business (1)
- 职场生涯 (14)
- Java编码格式 (2)
- web服务 (1)
- 计算机使用 (1)
- 健康工作生活的保障,工作中务必抛掉的不良心态 (4)
- 电信-网络监控 (1)
- 多线程-multithread (1)
- 海量数据-高性能 (2)
- Mybatis (1)
- web开发平台研发 (0)
- oracle (0)
- 应用服务器调优 (0)
- web前端 (0)
- servlet-jsp (0)
- tomcat (2)
- newtouch (1)
- portal_liferay (2)
- version control (1)
- apm-impact (2)
- tools (1)
- 研发管理 (1)
- 电商业务 (1)
- 生鲜电商市场调查 (0)
- PBX (0)
- 房东 (0)
最新评论
-
lifuchao:
...
权限问题 -
Branding:
谢谢,受教了,另外,CONN AS SYSDBA,必须是在操作 ...
Oracle密码忘记了怎么办? -
zhuchao_ko:
...
Portal实现原理 -
败类斯文:
不知道改哪里。。。木有见到红色。。表示悟性低了、、
jira error: Neither the JAVA_HOME nor the JRE_HOME environment variable is defin -
c__06:
正文:假如事务我是这样定义的: <tx:method n ...
Spring中Transactional配置
jbpm5(2007-03-14 23:31:43)转载
com.sky.plugin.jbpm.def.DynamicCreateTaskInstance
代码
public class DynamicCreateTaskInstance implements ActionHandler {
private static final long serialVersionUID = 1L;
public void execute(ExecutionContext context) throws Exception {
ProcessDefinition processDefinition = context.getProcessDefinition();
TaskNode taskNode = (TaskNode) context.getNode();
Task task = (Task)taskNode.getTasks().iterator().next();
Long processDefinitionId = processDefinition.getId();
Long taskId = task.getId();
Token token = context.getToken();
TaskMgmtInstance tmi = context.getTaskMgmtInstance();
//获取自定义的进行会签的人员
ServiceFactory serviceFactory = ServiceFactory.getInstance();
ProcessService ps = serviceFactory.getProcessService();
String[] actors = ps.loadTaskActors(processDefinitionId, taskId);
//根据会签人员,每人创建一个TaskInstance
for(String actor : actors){
tmi.createTaskInstance(task, token).setActorId(actor);
}
}
}
com.sky.plugin.jbpm.def.ConuntersignActionHandler
代码
public class ConuntersignActionHandler implements ActionHandler {
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
public void execute(ExecutionContext context) throws Exception {
Token token = context.getToken();
TaskMgmtInstance tmi = context.getTaskMgmtInstance();
Collection<TaskInstance> unfinishedTasks = tmi
.getUnfinishedTasks(token);
Object variable = context.getVariable("selectedTransition");
String selectedTransition;
if (variable == null) {
throw new RuntimeException(
"Jbpm transition error: user selected transition is null!");
} else {
// 获取当前TaskInstance选择的路径
selectedTransition = variable.toString();
}
// 如果用户选择的路径是流程定义中制定的不通过的路径,则自动完成余下所有的会签Task并转到相应路径
if (selectedTransition.equals("拒绝到复核人")) {
for (TaskInstance unfinishedTaskInstance : unfinishedTasks) {
// 把被结束的没有完成的TaskInstance的ActorId改为automatic complete
if (!unfinishedTaskInstance.hasEnded()) {
unfinishedTaskInstance.setActorId("automatic complete");
unfinishedTaskInstance.end("拒绝到复核人");
}
}
}
}
}
这个类对于会签是至关重要的,要通过这个Action来判断会签的情况。在这个Action中有这样几句代码:
代码
Object variable = context.getVariable("selectedTransition");
String selectedTransition;
if (variable == null) {
throw new RuntimeException(
"Jbpm transition error: user selected transition is null!");
} else {
// 获取当前TaskInstance选择的路径
selectedTransition = variable.toString();
}
其中的selectedTransition是用户选择的路径,也就是通过这个来判断会签的用户选择了“同意”或者“拒绝到复核人”,你可以通过流程变量的形式来保存。
如果“同意”,则继续下去,直到该TaskNode中所有的TaskInstance完成以后,通过会签,继续下去,如果选择“拒绝到复核人”,则会自动完成余下的所有TaskInstance,然后转到Transition“拒绝到复核人”,会签不通过。
其中有一句,设置所有自动完成的TaskInstance的Actor为“automatic complete”,这个可以解决在“以办事务”中出现自动完成的任务(TaskInstance)
代码
unfinishedTaskInstance.setActorId("automatic complete");
到这里整个会签的实现都在这里了,行文有点乱。哈哈!
最后更新:2006-11-27 13:27
12:08 | 永久链接 | 浏览 (1825) | 评论 (5) | 收藏 | JBPM | 进入论坛 | 发布在 JBPM @net 圈子
永久链接
http://tomkoo.javaeye.com/blog/34204
评论 共 5 条 发表评论
geoboy 2007-01-25 14:48
ServiceFactory serviceFactory = ServiceFactory.getInstance();
这个ServiceFactory是那个包里的啊?jbpm3.1.2没有这种用法啊
jamjar 1 星期前
这个ServiceFactory要自己写的,不是jbpm里的
com.sky.plugin.jbpm.def.DynamicCreateTaskInstance
代码
public class DynamicCreateTaskInstance implements ActionHandler {
private static final long serialVersionUID = 1L;
public void execute(ExecutionContext context) throws Exception {
ProcessDefinition processDefinition = context.getProcessDefinition();
TaskNode taskNode = (TaskNode) context.getNode();
Task task = (Task)taskNode.getTasks().iterator().next();
Long processDefinitionId = processDefinition.getId();
Long taskId = task.getId();
Token token = context.getToken();
TaskMgmtInstance tmi = context.getTaskMgmtInstance();
//获取自定义的进行会签的人员
ServiceFactory serviceFactory = ServiceFactory.getInstance();
ProcessService ps = serviceFactory.getProcessService();
String[] actors = ps.loadTaskActors(processDefinitionId, taskId);
//根据会签人员,每人创建一个TaskInstance
for(String actor : actors){
tmi.createTaskInstance(task, token).setActorId(actor);
}
}
}
com.sky.plugin.jbpm.def.ConuntersignActionHandler
代码
public class ConuntersignActionHandler implements ActionHandler {
private static final long serialVersionUID = 1L;
@SuppressWarnings("unchecked")
public void execute(ExecutionContext context) throws Exception {
Token token = context.getToken();
TaskMgmtInstance tmi = context.getTaskMgmtInstance();
Collection<TaskInstance> unfinishedTasks = tmi
.getUnfinishedTasks(token);
Object variable = context.getVariable("selectedTransition");
String selectedTransition;
if (variable == null) {
throw new RuntimeException(
"Jbpm transition error: user selected transition is null!");
} else {
// 获取当前TaskInstance选择的路径
selectedTransition = variable.toString();
}
// 如果用户选择的路径是流程定义中制定的不通过的路径,则自动完成余下所有的会签Task并转到相应路径
if (selectedTransition.equals("拒绝到复核人")) {
for (TaskInstance unfinishedTaskInstance : unfinishedTasks) {
// 把被结束的没有完成的TaskInstance的ActorId改为automatic complete
if (!unfinishedTaskInstance.hasEnded()) {
unfinishedTaskInstance.setActorId("automatic complete");
unfinishedTaskInstance.end("拒绝到复核人");
}
}
}
}
}
这个类对于会签是至关重要的,要通过这个Action来判断会签的情况。在这个Action中有这样几句代码:
代码
Object variable = context.getVariable("selectedTransition");
String selectedTransition;
if (variable == null) {
throw new RuntimeException(
"Jbpm transition error: user selected transition is null!");
} else {
// 获取当前TaskInstance选择的路径
selectedTransition = variable.toString();
}
其中的selectedTransition是用户选择的路径,也就是通过这个来判断会签的用户选择了“同意”或者“拒绝到复核人”,你可以通过流程变量的形式来保存。
如果“同意”,则继续下去,直到该TaskNode中所有的TaskInstance完成以后,通过会签,继续下去,如果选择“拒绝到复核人”,则会自动完成余下的所有TaskInstance,然后转到Transition“拒绝到复核人”,会签不通过。
其中有一句,设置所有自动完成的TaskInstance的Actor为“automatic complete”,这个可以解决在“以办事务”中出现自动完成的任务(TaskInstance)
代码
unfinishedTaskInstance.setActorId("automatic complete");
到这里整个会签的实现都在这里了,行文有点乱。哈哈!
最后更新:2006-11-27 13:27
12:08 | 永久链接 | 浏览 (1825) | 评论 (5) | 收藏 | JBPM | 进入论坛 | 发布在 JBPM @net 圈子
永久链接
http://tomkoo.javaeye.com/blog/34204
评论 共 5 条 发表评论
geoboy 2007-01-25 14:48
ServiceFactory serviceFactory = ServiceFactory.getInstance();
这个ServiceFactory是那个包里的啊?jbpm3.1.2没有这种用法啊
jamjar 1 星期前
这个ServiceFactory要自己写的,不是jbpm里的
发表评论
-
JBPM4的优秀博文链接
2011-08-31 22:39 13231 Jbpm4 IOC容器 http://www.it ... -
jbpm4 在tomcat6 下面ssh2 错误
2011-08-31 21:35 993异常:java.lang.LinkageError: load ... -
JBPM4表结构说明
2011-07-23 00:33 1292JBPM4表结构说明 (2010-05-05 14:10:02 ... -
jbpm流程文件的部署
2011-07-23 00:32 1190jbpm流程文件的部署 (2010-05-05 14:51:5 ... -
BPM4.3总结二 Jbpm4.3使用文档
2011-07-23 00:30 1151JBPM4.3总结二 [此博文包含图片] (2010-05-0 ... -
JBPM4.3总结五 合同审批实例
2011-07-23 00:27 1357JBPM4.3总结五 [此博文包含图片] (2010-05-0 ... -
JBPM4.3总结四 2.9任务管理
2011-07-23 00:26 1061JBPM4.3总结四 (2010-05-05 11:53:32 ... -
JBPM4.3总结三 集成自定义用户表
2011-07-23 00:24 1576JBPM4.3总结三 (2010-05-05 11:54:56 ... -
swing 实现JBPM 4.2例子
2011-07-22 13:20 1035swing 实现JBPM 4.2例子 http://blo ... -
JBPM4.3之任务管理
2011-07-22 12:37 1073JBPM4.3总结四(2010-05-05 11:53:32) ... -
jbpm frequently used url
2011-06-29 12:19 10641. http://old.family168.com/bb ... -
jbpm4 和 spring 的集成
2011-06-29 11:37 834jbpm4 内置了和 spring 的集成支持, 配置很简单, ... -
任务提交后为什么JBPM4_HIST_VAR不存在值
2011-06-29 11:05 1488JbpmProcessEngineUtil.getExecut ... -
权限问题
2011-06-29 09:05 1232机构 与 权限关系表:机构拥有与之关联的权限 应用 与 权限 ... -
jBPM4的运行期环境
2011-06-29 08:52 680一、运行期环境就是一个餐馆 二、jBPM4的运行期环境 E ... -
Jbpm4.3连接数据库配置
2011-06-29 08:35 1310Jbpm4.3连接数据库配置 收藏 1、我以mysql为例子 ... -
jbpm4 有18张表,简单介绍如下
2011-06-29 08:33 1804jbpm4 有18张表,简单介绍如下: JBPM4_DEP ... -
Drools
2011-06-28 20:59 1278Drools - The Business Logic int ... -
Activiti BPM Platform
2011-06-28 20:58 1121Activiti BPM Platform http://a ... -
jbpm之6 JBPM流程通过Aciton动态创建TaskInstance来实现“会签”
2011-06-28 20:57 832jbpm6(2007-03-14 23:32:38)转载 ...
相关推荐
jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...
JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子。带有文档教程和所有源码+JAR包。在网上找了半天jbpm6\jbpm7的资料,都很少。所以 环境:Myeclipse2015 JDK1.7 mysql 5.0 Struts2+Spring3.1 1...
### jBPM5安装与配置详解 #### 一、引言 jBPM5是一款开源的工作流和业务流程管理(BPM)框架,基于Java语言,由JBoss提供支持。它提供了一套全面的工具和服务,用于设计、执行和监控业务流程。本文将详细介绍jBPM5...
**jbpm5环境配置** jbpm5是一款开源的工作流管理系统,它提供了强大的业务流程管理和工作流功能。在开始使用jbpm5之前,首先需要进行环境配置。以下是对jbpm5环境配置的详细步骤: 1. **Java环境安装**:jbpm5基于...
本书《jBPM5 Developer Guide》是一本专注于JBoss jBPM5框架的Java开发者指南,由Mauricio Salatino和Esteban Aliverti撰写,2012年由Packt Publishing出版。jBPM5是JBoss企业业务流程管理(Business Process ...
【JBPM5基于Tomcat Web应用详解】 JBPM5是一个开源的工作流管理系统,它提供了全面的业务流程管理和工作流解决方案。这个项目是一个基于Web的JBPM5.2实例,特别设计用于在Apache Tomcat服务器上运行。理解这个应用...
### JBPM5入门学习知识点详解 #### 一、JBPM5简介 **1.1 什么是JBPM** JBPM(Java Business Process Management)是一个开源的业务流程管理框架,旨在为开发者提供一个简单、灵活且可扩展的平台来设计、执行和...
jBPM5 用户手册 jBPM5 是一个开源的工作流和业务流程管理(BPM)框架,专注于灵活、可扩展且与Java平台紧密结合的解决方案。这个用户手册旨在为用户提供全面的指南,涵盖从安装、建模、部署到执行和监控整个业务...
**JBPM5 整合Spring3经典案例** JBPM5是一个功能强大的工作流管理系统,而Spring3则是一个广泛使用的Java企业级应用框架。将这两者整合可以实现灵活的工作流程管理和强大的业务逻辑处理。本案例主要关注如何在JBPM5...
JBPM5是一个开源的工作流管理系统,它允许开发者设计、执行和管理业务流程。在这个"JBPM5请假实例,完整版"中,我们将深入探讨如何利用JBPM5来实现一个具体的请假流程,以及在这个过程中可能遇到的关键配置问题。 ...
jbpm4.1和jbPM5是两个不同版本的Java Business Process Management(业务流程管理)框架,主要用于构建和管理业务流程。jbPM是Talend公司的一个开源项目,它提供了全面的工作流和业务流程管理解决方案,深受Java...
jbpm5是一款基于Java的企业级工作流管理系统,它在企业应用中主要用于管理和自动化业务流程。持久化和流转流程是jbpm5的核心功能,对于理解其工作原理和实际应用至关重要。 一、jbpm5简介 jbpm5是Business Process ...
【jbpm5 工作流】是基于Java的轻量级、可扩展的工作流程管理系统,其核心是一个符合BPMN 2.0标准的流程引擎。jBPM可以在任何Java环境中运行,支持作为嵌入式组件或独立服务的部署方式。它提供了全方位的工具支持,...
### JBPM5 安装与配置详解 #### 一、JBPM5简介 JBPM (JBoss Business Process Management) 是一款开源的工作流引擎,用于构建业务流程自动化应用。JBPM5是JBPM的一个重要版本,提供了更为强大的工作流管理功能,...
【JBPM5 插件安装】 JBPM5(JBoss Business Process Management)是Red Hat公司推出的一款开源工作流管理系统,它允许开发者设计、部署和执行业务流程。在JBPM5中,插件的安装是扩展系统功能的重要手段,能够帮助...
做好myeclipse集成后,按官方的文档做第一个例子即可。 ... 一般不会的问题,从官方找就行,但上面说的也不详细,...现在jbpm5的资料太少,如果谁有一些实例加说明,能给俺分享一下就好啦。无论是跟帖还是回复的方式。