- 浏览: 314883 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (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 2076要实现JBPM的任务回退很 ... -
二十六、JbpmFacade简单实现
2012-11-16 10:30 1139public class JbpmFacadeImpl ext ... -
二十五、将JBPM集成到基于SSH的OA系统中
2012-11-15 22:43 936具体步骤如下: -
二十四、如何给角色分配任务,而且拥有此角色的用户必需要通过n个人的审批之后才能继续往下?
2012-11-15 21:33 786解决方案: 1、 在一个node-enter ... -
二十三、如何给角色分配任务,而且拥有此角色的用户只要有一个用户审批通过就可以继续往下
2012-11-13 14:41 776解决方案: 首先,是基于前一个解决方案,我们自己来给 ... -
二十二、如何给角色分配任务,而且拥有此角色的用户均需审批通过之后才能继续往下?
2012-11-13 14:18 851解决方法: * 在一个n ... -
二十一、如何在Jbpm的各种Handler中访问spring的bean
2012-11-13 11:42 1067import org.springframe ... -
二十、如何给角色分配任务
2012-11-13 11:12 1160实现AssignmentHandler接口,在接口的实现方法中 ... -
十八、自定义VariableResolver
2012-11-09 16:50 1043<decision name="decisio ... -
十七、Decision节点和DecisionHandler的使用
2012-11-09 16:15 1050<?xml version="1.0& ... -
十六、流程相关的用例图、流程图
2012-11-08 17:29 994部署流程: ... -
十五、从中间的TaskNode节点出发如何得到下一步可选路径列表
2012-11-06 16:12 832在上一节中说到: Set&l ... -
十四、从起点(StartState)出发,如何得知下一步可选的路径列表
2012-11-06 11:59 1028<process-definition name=&q ... -
十三、Fork和Join节点的基本用法
2012-11-06 10:48 1078<?xml version="1.0&qu ... -
十二、查询公文流转到哪个节点
2012-11-06 10:43 974//得到流程流转到的当前节点 @Test ... -
十一、流程流转
2012-11-06 10:43 948提交公文到下一个节点(本节点不是开始节点) pr ... -
十、查询某个用户的公文列表
2012-11-05 10:27 871private void printTask(JbpmCont ... -
九、提交公文
2012-11-05 10:29 792//将公文提交到第一个环节 @Test ... -
八、创建公文
2012-11-05 10:29 8231、创建公文对象 public ... -
七、部署流程
2012-11-05 10:28 892测试代码如下: //部署流程定义:根据流程 ...
相关推荐
一个swimlane有多个task,可以从TaskMgmtDefinition中通过task的名称直接获取相应的task; swimlane对象有四个属性,分别是name(名字)、assignmentDelegation(分配代理类)、taskMgmtDefinition、tasks(Set 对应多...
项目中常见的问题,记录一下解决方案
avnet(安富利)网站详情页数据样例
该数据集涵盖了2005至2012年间全国各地区二级专业承包建筑业企业的利润总额。这些数据不仅包括了原始数据,还提供了线性插值和ARIMA填补的版本,以便于研究者能够根据不同的需求选择合适的数据形式进行分析。数据集中包含了行政区划代码、地区名称、是否属于长江经济带、经纬度信息、年份以及利润总额等关键指标。这些指标为评估企业的经营效益和盈利水平提供了重要依据,同时也反映了建筑业在不同地区的发展态势。数据来源为国家统计局,确保了数据的权威性和准确性。通过这些数据,研究者可以深入分析建筑业的经济贡献及其在宏观经济中的作用,为政策制定和行业规划提供数据支持。
本文档主要讲述的是CentOS6.4 X64安装Oracle11g;在CentOS安装oracle11g比安装oracle10g简单很多,oracle可以不设置比如OS内核参数、防火墙、环境变量等,所以实施时推荐安装oracle11g。感兴趣的朋友可以过来看看
发动机零部件质量信息反馈及处理表.docx
全国省市县土地利用类型面板数据2009-2021年是一项详尽的数据集,它基于土地利用方式和地域差异,对土地资源单元进行细致划分,反映了土地的用途、性质和分布规律。该数据集涵盖了全国各省、地级市、县的土地利用类型,包括耕地、园地、林地、交通运输用地、水域及沙地等多种土地类型。时间范围上,省级和地级市的土地利用类型面板数据覆盖2009至2021年;县级土地利用类型面板数据则从2019年开始至2021年。数据指标丰富,包括行政单位、年份以及各类土地利用的具体分类,如水田、水浇地、旱地、果园、茶园等,以及城镇村及工矿用地、交通运输用地、水域及水利设施用地等。这些数据为政府决策、规划编制以及土地资源管理提供了坚实的数据基础,有助于全面了解土地资源的利用状况,并为未来的规划和管理提供支持。
项目中常见的问题,记录一下解决方案
好课分享——前端跳槽突围课:React18底层源码深入剖析(完结21章)
1111java后端1111Controller
嵌入式系统开发-STM32单片机-电子春联-代码设计
潜在失效模式及后果分析(FMEA)应用流程.docx
内容概要:本文详细介绍了如何使用Python和Matplotlib库创建一个动态的3D圣诞树动画。通过代码示例,展示了几何形状的创建方法,如圣诞树的形状、装饰品和星星的位置计算,以及如何通过动画更新函数实现闪烁效果。 适合人群:具有一定Python编程基础的开发者,尤其是对Matplotlib库和数据可视化感兴趣的读者。 使用场景及目标:① 学习Matplotlib库的基本用法,包括3D绘图和动画制作;② 掌握几何形状的数学建模方法,如圆锥和球体;③ 实践动画效果的实现技巧,提升编程技能。 阅读建议:本教程以具体代码示例为主,理论与实践相结合。建议读者在阅读过程中亲自编写和运行代码,逐步理解每一步骤的实现细节。
开发一个带有 PCIe Endpoint 设备的驱动程序并实现热插拔功能
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
消防气压给水设备和稳压泵安装 分项工程质量验收记录表.docx
Cytoscape-3-10-0-windows-64bit.exe
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
文件太大放服务器下载,请务必先到资源详情查看然后下载 样本图参考:blog.csdn.net/2403_88102872/article/details/143977852 数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1167 标注数量(xml文件个数):1167 标注数量(txt文件个数):1167 标注类别数:8 标注类别名称:["ddan_boc_tt","ddan_ct","ddan_ct_tua","ddan_ct_vatla","ddan_tran_tt","ddan_tt_mon","ddan_tt_tua","ddan_tt_vatla"]