- 浏览: 316231 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (286)
- 设计模式 (14)
- spring (5)
- 开发工具 (12)
- java (19)
- apache.commons工具 (7)
- ibaits (5)
- extjs4.0 (4)
- 数据库 (2)
- spring工具类 (2)
- jquery1.8 (32)
- 杂记 (1)
- linux (2)
- Quart (1)
- springMVC (2)
- webservice (1)
- oracle (5)
- dwr (6)
- jbmp3 (27)
- lucene3.5 (27)
- javascript (18)
- hibernate3.3.2 (27)
- spring事务管理 (10)
- nio (2)
- strust2 (3)
- jvm (7)
- jquery-easyui-1.2.6 (22)
- 多线程 (14)
- maven (3)
- 常用正则表达式 (4)
最新评论
-
HF_SKY000:
请问:
一、能否提供一下密钥库文件的生成方法?
二、密钥库的密 ...
Java sslSocket 聊天实例
如何实现多人会签,而且只要其中一个人审批通过就继续往下?
实现方法一:
利用pooled-actors,可以使用pooled-actors定义多个参与者,并使用findPooledTaskInstances来查找这种定义的任务实例 ,其中任意一个人审批通过并提交之后,其他人将看不到这个任务实例。
任务分配模式:
<?xml version="1.0" encoding="UTF-8"?>
<process-definition
xmlns="urn:jbpm.org:jpdl-3.2" name="test9">
<start-state name="开始">
<transition name="" to="领导审批"></transition>
</start-state>
<task-node name="领导审批" >
<task name="审批">
<assignment pooled-actors="张三,李四"></assignment>
</task>
<transition name="" to="结束" ></transition>
</task-node>
<end-state name="结束"></end-state>
</process-definition>
private void printTask(JbpmContext context, String actorId) {
//查询actorid独占的任务实例
List<TaskInstance> list = context.getTaskMgmtSession().findTaskInstances(actorId);
for (TaskInstance taskInstance : list) {
Long documentId = (Long) taskInstance.getContextInstance().getVariable("documentId");
Document document = (Document) context.getSession().load(Document.class, documentId);
System.err.println(actorId + "待处理的公文是:" + document.getTitle());
}
//查询actorid所属组的任务实例
List<TaskInstance> list2 = context.getTaskMgmtSession().findPooledTaskInstances(actorId);
for (TaskInstance taskInstance : list2) {
Long documentId = (Long) taskInstance.getContextInstance().getVariable("documentId");
Document document = (Document) context.getSession().load(Document.class, documentId);
System.err.println(actorId + "待处理的公文是:" + document.getTitle());
}
}
实现方法二:
在同一个TaskNode节点中定义多个Task,并设置signal="first"
1、last 默认,最后一个任务实例被结束时执行继续;如果Task-Node下面根本没有定义Task,则执行继续。
2、last-wait 最后一个任务实例被结束时执行继续;如果Task-Node下面根本没有定义Task,则等待。
3、first 第一个任务实例被结束时执行继续;如果Task-Node下面根本没有定义Task,则执行继续。
4、firstt-wait 第一个任务实例被结束时执行继续;如果Task-Node下面根本没有定义Task,则执行继续。
5、never 执行永远不会继续(即通过TaskInstance.end操作不会触发流程往下走)。
6、unsychronized 直接往下执行(signal),不管是否有任务实例。
<?xml version="1.0" encoding="UTF-8"?>
<process-definition
xmlns="urn:jbpm.org:jpdl-3.2" name="test10">
<start-state name="开始">
<transition name="" to="领导审批"></transition>
</start-state>
<task-node name="领导审批" signal="first"
>
<task name="审批">
<assignment actor-id="张三"></assignment>
</task>
<task name="审批">
<assignment actor-id="李四"></assignment>
</task>
<event type="node-leave">
<action class="com.ygtim.domain.TerminatedTaskInstanceAction"/>
</event>
<transition name="" to="结束" ></transition>
</task-node>
<end-state name="结束"></end-state>
</process-definition>
public class TerminatedTaskInstanceAction implements ActionHandler {
/** Comment for <code>serialVersionUID</code> */
private static final long serialVersionUID = -7195658442210655120L;
@SuppressWarnings("unchecked")
@Override
public void execute(ExecutionContext executionContext) throws Exception {
//查询尚未结束的任务实例
Collection<TaskInstance> collection = executionContext.getTaskMgmtInstance()
.getUnfinishedTasks(executionContext.getToken());
for (TaskInstance taskInstance : collection) {
taskInstance.end();
}
}
}
在某个用户审批通过后,实例就会离开该节点,为了让其余的用户不再能查询该节点的任务,就需要TerminatedTaskInstanceAction来删除其余用户的任务实例。
发表评论
-
二十七、jbpm回退
2012-11-16 10:56 2081要实现JBPM的任务回退很 ... -
二十六、JbpmFacade简单实现
2012-11-16 10:30 1141public class JbpmFacadeImpl ext ... -
二十五、将JBPM集成到基于SSH的OA系统中
2012-11-15 22:43 941具体步骤如下: -
二十四、如何给角色分配任务,而且拥有此角色的用户必需要通过n个人的审批之后才能继续往下?
2012-11-15 21:33 789解决方案: 1、 在一个node-enter ... -
二十三、如何给角色分配任务,而且拥有此角色的用户只要有一个用户审批通过就可以继续往下
2012-11-13 14:41 780解决方案: 首先,是基于前一个解决方案,我们自己来给 ... -
二十二、如何给角色分配任务,而且拥有此角色的用户均需审批通过之后才能继续往下?
2012-11-13 14:18 854解决方法: * 在一个n ... -
二十一、如何在Jbpm的各种Handler中访问spring的bean
2012-11-13 11:42 1078import org.springframe ... -
二十、如何给角色分配任务
2012-11-13 11:12 1167实现AssignmentHandler接口,在接口的实现方法中 ... -
十八、自定义VariableResolver
2012-11-09 16:50 1048<decision name="decisio ... -
十七、Decision节点和DecisionHandler的使用
2012-11-09 16:15 1053<?xml version="1.0& ... -
十六、流程相关的用例图、流程图
2012-11-08 17:29 1004部署流程: ... -
十五、从中间的TaskNode节点出发如何得到下一步可选路径列表
2012-11-06 16:12 836在上一节中说到: Set&l ... -
十四、从起点(StartState)出发,如何得知下一步可选的路径列表
2012-11-06 11:59 1037<process-definition name=&q ... -
十三、Fork和Join节点的基本用法
2012-11-06 10:48 1088<?xml version="1.0&qu ... -
十二、查询公文流转到哪个节点
2012-11-06 10:43 982//得到流程流转到的当前节点 @Test ... -
十一、流程流转
2012-11-06 10:43 966提交公文到下一个节点(本节点不是开始节点) pr ... -
十、查询某个用户的公文列表
2012-11-05 10:27 873private void printTask(JbpmCont ... -
九、提交公文
2012-11-05 10:29 793//将公文提交到第一个环节 @Test ... -
八、创建公文
2012-11-05 10:29 8261、创建公文对象 public ... -
七、部署流程
2012-11-05 10:28 893测试代码如下: //部署流程定义:根据流程 ...
相关推荐
一个swimlane有多个task,可以从TaskMgmtDefinition中通过task的名称直接获取相应的task; swimlane对象有四个属性,分别是name(名字)、assignmentDelegation(分配代理类)、taskMgmtDefinition、tasks(Set 对应多...
毕设和企业适用springboot企业健康管理平台类及活动管理平台源码+论文+视频.zip
本项目为基于layui框架开发的省市复选框组件设计源码,集成了115个文件,涵盖75个GIF动画、23个JavaScript脚本、6个CSS样式表、2个PNG图片、1个许可证文件、1个Markdown文档以及多种字体文件。该组件旨在提供一套便捷的省市多选解决方案,适用于各类需要地区选择的场景。
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot社区服务类及互联网金融平台源码+论文+视频
毕设和企业适用springboot企业协作平台类及网络营销平台源码+论文+视频
毕设和企业适用springboot商城类及风险控制平台源码+论文+视频
立方体、球体、金字塔检测26-YOLO(v5至v11)、CreateML、Paligemma、TFRecord、VOC数据集合集.rarRobodog-V4 2023-06-21 11:41 PM ============================= *与您的团队在计算机视觉项目上合作 *收集和组织图像 *了解和搜索非结构化图像数据 *注释,创建数据集 *导出,训练和部署计算机视觉模型 *使用主动学习随着时间的推移改善数据集 对于最先进的计算机视觉培训笔记本,您可以与此数据集一起使用 该数据集包括255张图像。 立方体以创建格式注释。 将以下预处理应用于每个图像: *像素数据的自动取向(带有Exif-Arientation剥离) *调整大小为640x640(拉伸) 应用以下扩展来创建每个源图像的3个版本: * 0到4.75像素之间的随机高斯模糊 *将盐和胡椒噪声应用于5%的像素
毕设和企业适用springboot社交互动平台类及数据智能化平台源码+论文+视频
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot人工智能类及企业数字资产管理平台源码+论文+视频
毕设和企业适用springboot社交互动平台类及跨境电商管理平台源码+论文+视频
毕设和企业适用springboot实验室类及文化旅游信息平台源码+论文+视频.zip
毕设和企业适用springboot汽车管理类及消费品管理平台源码+论文+视频
毕设和企业适用springboot实验室类及音频处理平台源码+论文+视频.zip
毕设和企业适用springboot企业数据管理平台类及直播流媒体平台源码+论文+视频
毕设和企业适用springboot企业云存储平台类及无人驾驶系统源码+论文+视频
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot企业知识管理平台类及供应链优化系统源码+论文+视频