博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【JBPM4】任务节点-任务分配assignment-Handler
阅读量:5010 次
发布时间:2019-06-12

本文共 1738 字,大约阅读时间需要 5 分钟。

JPDL

<?xml version="1.0" encoding="UTF-8"?>

<process key="task" name="task" xmlns="http://jbpm.org/4.4/jpdl">
<start name="start1" g="243,29,48,48">
<transition name="提交到任务A" to="任务A" g="-63,-11"/>
</start>
<end name="end1" g="243,393,48,48"/>
<task name="任务A" g="224,115,92,52">
<assignment-handler class="com.tgb.node.task.handler.AssignTask">
</assignment-handler>
<transition name="提交到任务B" to="任务B" g="-77,-11"/>
</task>
<task name="任务B" g="220,221,92,52">
<assignment-handler class="com.tgb.node.task.handler.AssignTaskB">
</assignment-handler>
<transition name="提交到任务C" to="任务C" g="-83,-14"/>
</task>
<task name="任务C" g="224,308,92,52">
<transition name="通过" to="end1" g="-62,-25"/>
</task>
</process>

JAVA监听类

以AssignTask为例,实现AssignmentHandler接口,即可在JPDL里应用监听

public class AssignTask implements AssignmentHandler {

private static final long serialVersionUID = 1L;

@Override

public void assign(Assignable assignable, OpenExecution execution)
throws Exception {
//设置流程处理(受理)人
assignable.setAssignee("userA");
}

}

流程操作代码与前一章相同

部署流程

repositoryService.createDeployment().addResourceFromClasspath("com/tgb/node/task/task.jpdl.xml").deploy();

创建流程实例

//流程部署KEY

ProcessInstance processInstance = executionService.startProcessInstanceByKey("task");
print("流程实例ID",processInstance.getId());

获取当前节点

//流程实例ID
String name = executionService.createProcessInstanceQuery().processInstanceId("task.290001").uniqueResult().findActiveActivityNames().toString();
print("当前节点名词:",name);

获得任务列表

List<Task> tasks = taskService.findPersonalTasks("A");
print("任务数量",tasks.size());
print("任务名词",tasks.get(0).getActivityName());
print("任务ID",tasks.get(0).getId());

完成任务

//任务ID
taskService.completeTask("290002");

转载于:https://www.cnblogs.com/surge/p/3577730.html

你可能感兴趣的文章
【深度学习最优化方法】
查看>>
弹出框始终保持居中(包括有滚动条和窗体缩放时)
查看>>
C#访问数据库增删查改代码
查看>>
mysql 8小时超时设置
查看>>
安卓真机ADB shell添加slite3命令
查看>>
php中引用&的真正理解-变量引用、函数引用、对象引用
查看>>
关于<form> autocomplete 属性
查看>>
OutOfMemory
查看>>
LeetCode:组合总数III【216】
查看>>
Thinkphp框架回顾(三)之怎么实现平常的sql操作数据库
查看>>
asp.net利用剪切板导出excel
查看>>
ASP.NET Core文件上传与下载(多种上传方式)
查看>>
编译Console程序时,可以指定Main入口函数
查看>>
虚函数的效率问题
查看>>
POJ 1860 Currency Exchange(SPFA 判断有无“正”环)
查看>>
angular6项目中使用scss
查看>>
书籍阅读目录(给愚钝的自己)
查看>>
-[UIKeyboardLayoutStar release]: message sent to deallocated instance
查看>>
无法执行该操作,因为链接服务器 "XXX" 的 OLE DB 访问接口 "SQLNCLI10" 无法启动分布式事务。...
查看>>
JDK7 新特性
查看>>