文章
问答
冒泡
五、camunda学习-camunda中的几种task类型
上篇中,我们了解了camunda几种task的实现,那么camunda具体有几种task呢?从modeler中可以很直观的看到。
0
 
1.Service Task
这是用的最多的task方式,我们在处理流程的时候,大部分都是用service task 来处理的。
具体怎么用,参考之前的 task实现 https://www.ithere.net/article/1496874776434139138
 
2.Send Task
The Send Task has the same behavior as a Service Task.
根据文档上的说法,Send Task的用法习惯与Service Task 相似。
 
3.User Task
用户执行任务
 
4.Business Rule Task
业务规则任务需要依赖DMN引擎
设计一个场景,年龄大于20岁的不满足要求,不大于20岁的满足要求
0
0
 
0
0
 
0
 
5.Script Task
根据文档,支持的脚本有如下
Camunda Platform should work with most of the JSR-223 compatible script engine implementations. We test integration for Groovy, JavaScript, JRuby and Jython.
 
这里以groovy为例
添加依赖
<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy-all</artifactId>
</dependency>
0
 
6.Receive Task
一般情况下Receive Task 和 Send Task 组合使用。可以简单理解为Receive Task 需要等对应message的通知。
我们创建一个Receive Task。开始这个流程之后,该任务一直没有执行
0
 
我们再创建一个Send Task
public class SendTaskDelegate implements JavaDelegate {
    @Override
    public void execute(DelegateExecution execution) throws Exception {
        execution.getProcessEngineServices().getRuntimeService()
                .createMessageCorrelation("testMessage").correlate();
    }
}
 
0
 
执行之后,Receive Task 的节点任务就会执行。
 
7.Manual Task
这个类型的task 文档的说法是定义为外部任务,会直接pass。
 
0
 
camunda

关于作者

落雁沙
非典型码农
获得点赞
文章被阅读