activiti-serviceTask(服务任务)

Activiti服务任务(serviceTask)

Activiti服务任务(serviceTask)

作者:邓家海

都有一段沉默的时间,等待厚积薄发

应用场景:

当客户有这么一个需求:下一个任务我需要自动执行一些操作,并且这个节点不需要任何的人工干涉,也就是说这个节点是自动化的。那么,这个当前面一个经办人员把任务发送下去的时候,自然而然的下一个节点就会开始马上执行。这个时候。我们就需要使用Activiti工作流的ServiceTask任务。

 

ServiceTask任务的实现,其实不复杂。

 

实现步骤:

(1)设计流程

(2)编写委托类

(3)把委托类设置到流程的监听类上面

 

设计流程:

 activiti-serviceTask(服务任务)_第1张图片

 

 

编写委托类:

 

复制代码

1 package light.mvc.workflow.serviceTask;
 2 
 3  
 4 
 5 import org.activiti.engine.delegate.DelegateExecution;
 6 
 7 import org.activiti.engine.delegate.Expression;
 8 
 9 import org.activiti.engine.delegate.JavaDelegate;
10 
11  
12 
13 /**  
14 
15  *   
16 
17  * 项目名称:lightmvc  
18 
19  * 类名称:ServiceTask  
20 
21  * 类描述:  
22 
23  * 创建人:邓家海  
24 
25  * 创建时间:2017年6月4日 下午6:18:11  
26 
27  * 修改人:deng  
28 
29  * 修改时间:2017年6月4日 下午6:18:11  
30 
31  * 修改备注:  
32 
33  * @version   
34 
35  *   
36 
37  */
38 
39  
40 
41 public class ServiceTask implements JavaDelegate{
42 
43 //流程变量
44 
45 private Expression text1;
46 
47  
48 
49 //重写委托的提交方法
50 
51 @Override
52 
53 public void execute(DelegateExecution execution) throws Exception {
54 
55 System.out.println("serviceTask已经执行已经执行!");
56 
57 String value1 = (String) text1.getValue(execution);
58 
59 System.out.println(value1);
60 
61     execution.setVariable("var1", new StringBuffer(value1).reverse().toString());
62 
63 }
64 
65  
66 
67 }

复制代码

 

 

把委托类设置到流程的监听类上面:

 

 activiti-serviceTask(服务任务)_第2张图片

 

 

 

 

流程代码:

 

复制代码


 
   
     
     
       
         
           
         
       
     
     
     
     
   
   
     
       
         
       
       
         
       
       
         
       
       
         
         
         
         
       
       
         
         
         
         
       
     
   
 

复制代码

 

 

 

然后执行流程(我的控制台乱码,没时间处理,不影响):

 

 activiti-serviceTask(服务任务)_第3张图片

 

 

 

 

升级:

假如客户说,我并不想马上去执行这个任务,我只是想在某一个时间之后才去执行这个任务。那么上面的要求显然又不能满足需求了。我们又要怎么去升级改进呢?其实也很简单。我们前面已经实现了定时边界任务。我们只需要增加一个定时边界来处理就可以了。

activiti-serviceTask(服务任务)_第4张图片

你可能感兴趣的:(activiti)