- 浏览: 313743 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (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 2071要实现JBPM的任务回退很 ... -
二十六、JbpmFacade简单实现
2012-11-16 10:30 1135public class JbpmFacadeImpl ext ... -
二十五、将JBPM集成到基于SSH的OA系统中
2012-11-15 22:43 933具体步骤如下: -
二十四、如何给角色分配任务,而且拥有此角色的用户必需要通过n个人的审批之后才能继续往下?
2012-11-15 21:33 783解决方案: 1、 在一个node-enter ... -
二十三、如何给角色分配任务,而且拥有此角色的用户只要有一个用户审批通过就可以继续往下
2012-11-13 14:41 773解决方案: 首先,是基于前一个解决方案,我们自己来给 ... -
二十二、如何给角色分配任务,而且拥有此角色的用户均需审批通过之后才能继续往下?
2012-11-13 14:18 849解决方法: * 在一个n ... -
二十一、如何在Jbpm的各种Handler中访问spring的bean
2012-11-13 11:42 1061import org.springframe ... -
二十、如何给角色分配任务
2012-11-13 11:12 1158实现AssignmentHandler接口,在接口的实现方法中 ... -
十八、自定义VariableResolver
2012-11-09 16:50 1038<decision name="decisio ... -
十七、Decision节点和DecisionHandler的使用
2012-11-09 16:15 1045<?xml version="1.0& ... -
十六、流程相关的用例图、流程图
2012-11-08 17:29 992部署流程: ... -
十五、从中间的TaskNode节点出发如何得到下一步可选路径列表
2012-11-06 16:12 826在上一节中说到: Set&l ... -
十四、从起点(StartState)出发,如何得知下一步可选的路径列表
2012-11-06 11:59 1021<process-definition name=&q ... -
十三、Fork和Join节点的基本用法
2012-11-06 10:48 1072<?xml version="1.0&qu ... -
十二、查询公文流转到哪个节点
2012-11-06 10:43 970//得到流程流转到的当前节点 @Test ... -
十一、流程流转
2012-11-06 10:43 939提交公文到下一个节点(本节点不是开始节点) pr ... -
十、查询某个用户的公文列表
2012-11-05 10:27 867private void printTask(JbpmCont ... -
九、提交公文
2012-11-05 10:29 790//将公文提交到第一个环节 @Test ... -
八、创建公文
2012-11-05 10:29 8211、创建公文对象 public ... -
七、部署流程
2012-11-05 10:28 890测试代码如下: //部署流程定义:根据流程 ...
相关推荐
一个swimlane有多个task,可以从TaskMgmtDefinition中通过task的名称直接获取相应的task; swimlane对象有四个属性,分别是name(名字)、assignmentDelegation(分配代理类)、taskMgmtDefinition、tasks(Set 对应多...
【大厂面试专栏】一份Java程序员需要的技术指南,这里有面试题、系统架构、职场锦囊、主流中间件等,让你成为更牛的自己!_technology-talk
flashocc-QAT-PTQ.zip
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
CSDN海神之光上传的全部代码均可运行,亲测可用,尽我所能,为你服务; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、物理应用 仿真:导航、地震、电磁、电路、电能、机械、工业控制、水位控制、直流电机、平面电磁波、管道瞬变流、刚度计算 光学:光栅、杨氏双缝、单缝、多缝、圆孔、矩孔衍射、夫琅禾费、干涉、拉盖尔高斯、光束、光波、涡旋 定位问题:chan、taylor、RSSI、music、卡尔曼滤波UWB 气动学:弹道、气体扩散、龙格库弹道 运动学:倒立摆、泊车 天体学:卫星轨道、姿态 船舶:控制、运动 电磁学:电场分布、电偶极子、永磁同步、变压器
文件比较工具、文件夹比较工具、linux、ubuntu、linx麒麟等免费使用多日
Spire.XLS是一个基于.NET的组件,使用它我们可以创建Excel文件,编辑已有的Excel并且可以转换Excel文件.zip
文件名:Downhill Ride - Game Template 2020 LTS v1.2.3.unitypackage Downhill Ride - Game Template (2020 LTS) 是一个为 Unity 2020 LTS 版本开发的完整游戏模板,主要适用于开发极限运动或竞速类的下坡滑行游戏。这个模板专为快速原型设计和项目开发而打造,提供了关键功能和资源,帮助开发者轻松实现类似下坡竞速的游戏项目。 主要特点: 完整的游戏框架: 该模板包含基础的游戏逻辑,允许玩家通过控制角色在下坡道上滑行或骑行,避开障碍物并尽可能快速完成赛道。 物理与控制系统: 内置的物理引擎和角色控制器已经经过优化,可以实现平滑的下坡滑行体验,提供真实感十足的物理效果。 多种关卡支持: 模板支持多个关卡设计,开发者可以根据需要扩展或自定义不同难度的关卡。 UI 和交互设计: 包含基本的用户界面(UI)设计,带有主菜单、关卡选择、计分系统等功能,用户可以轻松扩展或定制这些 UI 元素。 优化的性能: 模板专为移动平台和桌面平台优化,确保良好的性能表现......
(1)课程设计项目简单描述 鉴于当今超市产品种类繁多,光靠人手动的登记已经不能满足一般商家的需求。我们编辑该程序帮助商家完成产品、商家信息的管理,包括产品、客户、供应商等相关信息的添加、修改、删除等功能。 (2)需求分析(或是任务分析) 1)产品类别信息管理:对客户的基本信息进行添加、修改和删除。 2)产品信息管理:对产品的基本信息进行添加、修改和删除。 3)供应商信息管理: 对供应商的基本信息进行添加、修改和删除。 4)订单信息管理:对订单的基本信 息进行添加、修改和删除。 5)统计报表:按选择日期期间,并按产品类别分组统 计订单金额,使用表格显示统计结果
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值
Android System Webview(com.google.android.webvie) 125.0.6422.82 一般情况下设备可以从google play上更新,但是google play 中没有历史版本下载,所以在自己需要之后把资源上传
VLP超低轮廓铜箔,全球前10强生产商排名及市场份额(by QYResearch).docx
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
网鼎杯PPServ是一个Web开发集成环境,可以使用Apache,PHP,Mysql创建Web应用。_PPServ.zip
那些年,与你同分同位次的同学都去了哪里?全国各大学在四川2020-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据
windows 安装包Miniconda3-py38-4.11.0-Windows-x86-64