昨天测试到一个结束流程的时候报了错:Mylistener not implements ExecutionListener nor JavaDelegate 是说没有实现ExecutionListener 接口,看了activiti里配置的监听器 只实现了TaskListener,之后我又加了ExecutionListener之后测试不再报错。
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.delegate.TaskListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Date;
public class MyEventListener implements TaskListener, ExecutionListener {
@Override
public void notify(DelegateTask task) {
}
@Override
public void notify(DelegateExecution delegateExecution) throws Exception {
}
}
因为我测试的是拒绝结束流程的操作,监听器只实现了TaskListener接口,
针对的事件不同:
ExecutionListener 针对activiti的start,end, take事件,所以结束流程的操作需要实现ExecutionListener接口
TaskListener针对activiti的 create,assignment, complete, delete.事件
通知的代理不同:
DelegateExecution 与 DelegateTask