Jbpm事件

来源:互联网 发布:兼职网络编辑招聘 编辑:程序博客网 时间:2024/06/17 00:12

一、在配置文件中设置

<?xml version="1.0" encoding="UTF-8"?><process name="event" xmlns="http://jbpm.org/4.4/jpdl">    <on event="start"><!-- 本活动的进入事件 -->        <event-listener class="com.itcast.j_event.EventListenerImpl"> </event-listener>    </on>    <on event="end"><!-- 离开结束事件 -->        <event-listener class="com.itcast.j_event.EventListenerImpl"> </event-listener>    </on>   <start name="start1" g="38,16,48,48">        <on event="end"><!-- 开始活动只有离开事件 -->            <event-listener class="com.itcast.j_event.EventListenerImpl"> </event-listener>        </on>        <transition name="to 审批" to="审批" g="-45,-22"/>   </start>   <task name="审批" g="16,96,92,52" assignee="王经理">        <on event="start"><!-- 本活动的进入事件 -->            <event-listener class="com.itcast.j_event.EventListenerImpl"> </event-listener>        </on>        <on event="end"><!-- 离开结束事件 -->            <event-listener class="com.itcast.j_event.EventListenerImpl"> </event-listener>        </on>        <transition name="to end1" to="end1" g="-50,-22"/>   </task>   <end name="end1" g="38,180,48,48">       <on event="start"><!-- 结束活动只有开始事件 -->            <event-listener class="com.itcast.j_event.EventListenerImpl"> </event-listener>        </on>      </end></process>

二、实现类:

public class ProcessDecisition {    private static ProcessEngine processEngine = Configuration.getProcessEngine();    @Test    public void testProcess() throws Exception {        //部署        String deployId = processEngine.getRepositoryService()        .createDeployment()        .addResourceFromClasspath("event/event.jpdl.xml")        .addResourceFromClasspath("event/event.png")        .deploy();        System.out.println("部署完毕:deployId=="+deployId);        ProcessInstance pi = processEngine.getExecutionService().startProcessInstanceByKey("event");        System.out.println("启动完毕:processInstanceId=="+pi.getId());        System.out.println("正在执行的活动名称=="+pi.findActiveActivityNames());    }}

三、事件监听:

public class EventListenerImpl implements EventListener{    private static final long serialVersionUID = 1L;    @Override    public void notify(EventListenerExecution execution) throws Exception {        System.out.println("notify======"+ execution.getActivity().getName());    }}
0 0
原创粉丝点击