jbpm事件
  XecrWlEIV3Co 2023年11月13日 24 0


一、流程图


jbpm事件_xml

二、代码实现

 1>test.jbpl.xml



1. <?xml version="1.0" encoding="UTF-8"?>  
2.   
3. <process name="test" xmlns="http://jbpm.org/4.4/jpdl">  
4.   
5.   
6.   
7. <!-- 流程启动事件 -->  
8. <on event="start">  
9. <event-listener class="com.njupt.k_event.EventListenerImpl"></event-listener>  
10. </on>  
11.       
12. <!-- 流程结束事件 -->  
13. <on event="end">  
14. <event-listener class="<span style="font-family: Arial, Helvetica, sans-serif;">"com.njupt</span><span style="font-family: Arial, Helvetica, sans-serif;">.k_event.EventListenerImpl"></event-listener></span>  
15. </on>  
16.   
17.   
18.   
19.   
20. <start name="start1" g="136,73,48,48">  
21. <transition name="to task1" to="task1" g="-53,-17" />  
22.   
23. <!-- Start活动只有离开活动事件 -->  
24. <on event="end">  
25. <event-listener class="<span style="font-family: Arial, Helvetica, sans-serif;">"com.njupt.</span><span style="font-family: Arial, Helvetica, sans-serif;">k_event.EventListenerImpl"></event-listener></span>  
26. </on>  
27.   
28. </start>  
29.   
30.   
31. <task name="task1" g="127,168,92,52" assignee="张三">  
32. <transition name="to end1" to="end1" g="-47,-17" />  
33.   
34. <!-- 进入活动事件 -->  
35. <on event="start">  
36. <event-listener class=<span style="font-family: Arial, Helvetica, sans-serif;">"com.njupt.</span><span style="font-family: Arial, Helvetica, sans-serif;">k_event.EventListenerImpl"></event-listener></span>  
37. </on>  
38.   
39. <!-- 离开活动事件 -->  
40. <on event="end">  
41. <event-listener class="<span style="font-family: Arial, Helvetica, sans-serif;">"com.njupt.</span><span style="font-family: Arial, Helvetica, sans-serif;">k_event.EventListenerImpl"></event-listener></span>  
42. </on>  
43.   
44. </task>  
45.   
46. <end name="end1" g="156,269,48,48">  
47.   
48. <!-- End活动只有进入活动事件 -->  
49. <on event="start">  
50. <event-listener class="<span style="font-family: Arial, Helvetica, sans-serif;">"com.njupt.</span><span style="font-family: Arial, Helvetica, sans-serif;">k_event.EventListenerImpl"></event-listener></span>  
51. </on>  
52.   
53. </end>  
54.   
55. </process>



2>编写事件处理类


1. package com.njpt.k_event;  
2.   
3. import org.jbpm.api.listener.EventListener;  
4. import org.jbpm.api.listener.EventListenerExecution;  
5.   
6. public class EventListenerImpl implements EventListener {  
7.   
8. @Override  
9. public void notify(EventListenerExecution execution) throws Exception {  
10. "事件触发了, " + execution.getActivity());  
11.     }  
12.   
13. }



三、编写流程测试类


1. package com.njupt.k_event;  
2.   
3. import java.io.InputStream;  
4.   
5. import org.jbpm.api.Configuration;  
6. import org.jbpm.api.ProcessEngine;  
7. import org.jbpm.api.ProcessInstance;  
8. import org.junit.Test;  
9.   
10. public class ProcessTest {  
11.   
12. private ProcessEngine processEngine = Configuration.getProcessEngine();  
13.   
14. @Test  
15. public void test() throws Exception {  
16. // 1,部署流程定义  
17. "test.jpdl.xml");  
18. //  
19. //  
20. "test.jpdl.xml", in)//  
21.                 .deploy();  
22.   
23. // 2,启动流程实例  
24. "test");  
25.     }  
26.   
27. @Test  
28. public void testCompleteTask() throws Exception {  
29. "350008";  
30.         processEngine.getTaskService().completeTask(taskId);  
31.     }  
32.   
33. }




【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  4crWjjQBqFOy   2023年11月13日   23   0   0 javamavenandroid
  wpWn7yzs0oKF   2023年11月13日   29   0   0 javaapacheHDFS
  sX9JkgY3DY86   2023年11月13日   29   0   0 xmlideandroid
XecrWlEIV3Co