使用场景: 一些任务在走工作流的时候需要执行一些自己的逻辑代码,同时这个节点自动完成,不需要任何人处理。
这里强调一下用的activiti版本为5.21.0 只要有服务任务节点就应该可以用的,万变不离其宗嘛!
第一步 我们要清楚实现activiti的什么监听能帮助我们干这件事情,话不多说直接看代码把
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.JavaDelegate;
public class AutomaticNodeListener implements JavaDelegate {
@Override
public void execute(DelegateExecution execution) {
// TODO Auto-generated method stub
}
}
还是小伙伴,以上就是要实现的监听JavaDelegate,同时咱们看看DelegateExecution 这个给我们的类我们能用到什么
A)execution.getProcessDefinitionId() //执行id
B) execution.getProcessInstanceId() //流程实例id
C) execution.getProcessBusinessKey(); //对应的表单id
D) ....列出来3个咱们经常用的应该可以满足你的需求了,如果还不满足的话 咱们去这个类中看看里面还有很多,我就不一一列出来了
这样子咱们的第一步创建监听就完成了
第二步 咱们要认识这个服务节点,同时要知道把这个监听放在什么位置,然后咱们部署才会生效。下面我会放俩张图
上图的小齿螺就是我们的服务任务,左侧菜单则是我们activiti给提供的任务节点 我都放在一起了,下图展示的是在哪里加入我们第一步创建的类 看图说话把咱们
我们点开这个节点会看到很多属性,找到标红的位置这里我们需要填入的格式例:包+类名(注意没有.java哦)我的大概是在这样的com.test(包).AutomaticNodeListener(咱们的监听类) ,这样这个服务任务就完成了。
祝你在activiti越用越灵活~