`
suhuanzheng7784877
  • 浏览: 705276 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47775
社区版块
存档分类
最新评论

JBPM4学习总结之7——Task之任务分配器

    博客分类:
  • jbpm
阅读更多

在定义流程模板的时候同样可以定义一个自己的类来做任务分配器的功能,在代码中分配任务执行者。分配器类需要实现AssignmentHandlerorg.jbpm.api.task.AssignmentHandler)接口。

流程图雷同,xml描述如下:

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

<process name="TaskAssignmentHandler" xmlns="http://jbpm.org/4.4/jpdl">
	<start name="start1" g="173,51,48,48">
		<transition name="to task1" to="task1" g="-52,-22" />
	</start>
	<task name="task1" g="151,157,92,52">
		<assignment-handler class="myHandler.AssignmentHandler">
			<field name="name">
				<string value="liuyan" />
			</field>
		</assignment-handler>

		<transition name="to state1" to="state1" g="-56,-22" />
	</task>
	<state name="state1" g="155,268,92,52" />
</process>

 

myHandler.AssignmentHandler代码如下

package myHandler;

import org.jbpm.api.model.OpenExecution;
import org.jbpm.api.task.Assignable;

/**
 * 任务分配处理器
 * 
 * @author liuyan
 * 
 */
public class AssignmentHandler implements org.jbpm.api.task.AssignmentHandler {

	String name;

	@Override
	public void assign(Assignable assignable, OpenExecution execution)
			throws Exception {

		// 设置任务分配者
		assignable.setAssignee(name);
	}

}

 

name的值是被注入的,根据注入的name的值将任务指定给它。

测试代码如下:

/**
	 * 指派任务的所有人
	 */
	public void test02AssigneeTask() {

		// 开始process流程
		ProcessInstance processInstance = executionService
				.startProcessInstanceByKey("TaskAssignmentHandler");

		// 流程实例的ID
		String pid = processInstance.getId();

		System.out.println(pid);// forkjoin.10001
	}
	
	/**
	 * 按用户名查找
	 */
	public void test03FindTaskes(){
		List<Task> taskList = taskService.findPersonalTasks("liuyan");

		for (Task task : taskList) {
			System.out.println(task.getAssignee());
		}
	}

 当查找结果时候,会发现liuyan用户拥有一个待处理的任务。当然在分配器类中还可以自己写更复杂的业务判断来指定给相关人员处理Task

分享到:
评论

相关推荐

    JBPM采购申请系统——09_任务实例与任务分配.7z

    JBPM采购申请系统——09_任务实例与任务分配.7z JBPM采购申请系统——09_任务实例与任务分配.7z JBPM采购申请系统——09_任务实例与任务分配.7z JBPM采购申请系统——09_任务实例与任务分配.7z JBPM采购申请系统——...

    JBPM采购申请系统——11_讲任务调度.7z

    JBPM采购申请系统——11_讲任务调度.7z JBPM采购申请系统——11_讲任务调度.7z JBPM采购申请系统——11_讲任务调度.7z JBPM采购申请系统——11_讲任务调度.7z JBPM采购申请系统——11_讲任务调度.7z JBPM采购申请...

    JBPM采购申请系统——10_任务事件与任务控制器.7z

    JBPM采购申请系统——10_任务事件与任务控制器.7z JBPM采购申请系统——10_任务事件与任务控制器.7z JBPM采购申请系统——10_任务事件与任务控制器.7z JBPM采购申请系统——10_任务事件与任务控制器.7z JBPM采购申请...

    jBPM4学习总结

    【jBPM4学习总结】 jBPM,全称为Java Business Process Management,是一个开源的、灵活且可扩展的业务流程管理框架,涵盖了业务流程管理、工作流和服务协作等多个领域。自2004年10月加入JBoss组织后,jBPM逐渐成为...

    JBPM采购申请系统——08_JBPM流程节点.7z

    JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...

    JBPM采购申请系统——05_构建JBPM数据库.7z

    JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM...

    JBPM采购申请系统——02_Eclipse与JBPM.7z

    JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z ...

    JBPM采购申请系统——06_JBPM版本控制及Token对象.7z

    JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z ...

    JBPM采购申请系统——13_JBPM异步(二).7z

    JBPM采购申请系统——13_JBPM异步(二).7z JBPM采购申请系统——13_JBPM异步(二).7z JBPM采购申请系统——13_JBPM异步(二).7z JBPM采购申请系统——13_JBPM异步(二).7z JBPM采购申请系统——13_JBPM异步(二).7z JBPM...

    JBPM采购申请系统——12_JBPM异步(一).7z

    JBPM采购申请系统——12_JBPM异步(一).7z JBPM采购申请系统——12_JBPM异步(一).7z JBPM采购申请系统——12_JBPM异步(一).7z JBPM采购申请系统——12_JBPM异步(一).7z JBPM采购申请系统——12_JBPM异步(一).7z JBPM...

    JBPM采购申请系统——07_JBPM中的脚本语言.7z

    JBPM采购申请系统——07_JBPM中的脚本语言.7z JBPM采购申请系统——07_JBPM中的脚本语言.7z JBPM采购申请系统——07_JBPM中的脚本语言.7z JBPM采购申请系统——07_JBPM中的脚本语言.7z JBPM采购申请系统——07_JBPM...

    JBPM采购申请系统——20_JBPM4.0使用及特性.7z

    JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_...

    JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z

    JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二).7z JBPM采购申请系统——22_JBPM4.0与JBPM3.0差异(二)...

    JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z

    JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一).7z JBPM采购申请系统——21_JBPM4.0与JBPM3.0差异(一)...

    JBPM4 学习使用总结

    **JBPM4 学习使用总结** JBPM4(Java Business Process Management)是Jboss公司推出的一款开源的工作流管理系统,它提供了完整的业务流程自动化解决方案,包括流程设计、部署、执行、监控以及管理等功能。在深入...

    JBPM采购申请系统——03_JBPM配置文件与jbpmConfiguration对象.7z

    JBPM采购申请系统——03_JBPM配置文件与jbpmConfiguration对象.7z JBPM采购申请系统——03_JBPM配置文件与jbpmConfiguration对象.7z JBPM采购申请系统——03_JBPM配置文件与jbpmConfiguration对象.7z JBPM采购申请...

    JBPM采购申请系统——23_综合技术应用.7z

    JBPM采购申请系统——23_综合技术应用.7z JBPM采购申请系统——23_综合技术应用.7z JBPM采购申请系统——23_综合技术应用.7z JBPM采购申请系统——23_综合技术应用.7z JBPM采购申请系统——23_综合技术应用.7z JBPM...

    JBPM采购申请系统——19_JBPM采购申请系统(三).7z

    JBPM采购申请系统——19_JBPM采购申请系统(三).7z JBPM采购申请系统——19_JBPM采购申请系统(三).7z JBPM采购申请系统——19_JBPM采购申请系统(三).7z JBPM采购申请系统——19_JBPM采购申请系统(三).7z JBPM采购申请...

    JBPM采购申请系统——15_JBPM开发报销系统(二).7z

    JBPM采购申请系统——15_JBPM开发报销系统(二).7z JBPM采购申请系统——15_JBPM开发报销系统(二).7z JBPM采购申请系统——15_JBPM开发报销系统(二).7z JBPM采购申请系统——15_JBPM开发报销系统(二).7z JBPM采购申请...

    JBPM采购申请系统——17_JBPM采购申请系统(一).7z

    JBPM采购申请系统——17_JBPM采购申请系统(一).7z JBPM采购申请系统——17_JBPM采购申请系统(一).7z JBPM采购申请系统——17_JBPM采购申请系统(一).7z JBPM采购申请系统——17_JBPM采购申请系统(一).7z JBPM采购申请...

Global site tag (gtag.js) - Google Analytics