用户任务UserTask的监听器,定义接口org.activiti.engine.delegate.TaskListener
任务监听器用于在特定的任务相关事件发生时,执行自定义的Java逻辑或表达式
源码:
public interface TaskListener extends Serializable {
//create(创建):当任务已经创建,并且所有任务参数都已经设置时触发
String EVENTNAME_CREATE = "create";
String EVENTNAME_ASSIGNMENT = "assignment";
//(完成):当任务已经完成,从运行时数据中删除前触发
String EVENTNAME_COMPLETE = "complete";
//(删除):在任务即将被删除前触发。请注意当任务通过completeTask正常完成时也会触发
String EVENTNAME_DELETE = "delete";
String EVENTNAME_ALL_EVENTS = "all";
void notify(DelegateTask delegateTask);
}
结论:assignment事件比create先执行。
xml文件中定义
2.监听类定义
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
@Slf4j
public class SiteReportUserTask implements TaskListener {
private static final long serialVersionUID = 3654543511891213996L;
@Override
public void notify(DelegateTask delegateTask) {
log.info("creattime: {}",delegateTask.getCreateTime());
log.info("getProcessInstanceId: {}",delegateTask.getProcessInstanceId());
log.info("数据库中的taskId主键: {}",delegateTask.getId());
log.info("任务名称: {}",delegateTask.getName());
delegateTask.setName("修改任务名称");
log.info("获取任务的描述信息: {}",delegateTask.getDescription());
delegateTask.setDescription("修改任务的描述信息");
log.info("任务处理的优先级范围是0-100: {}",delegateTask.getPriority());
delegateTask.setPriority(1);
log.info("获取流程实例id: {}",delegateTask.getProcessInstanceId());
log.info("获取流程获取执行id: {}",delegateTask.getExecutionId());
log.info("获取流程定义id: {}",delegateTask.getProcessDefinitionId());
//void addCandidateUser(String userId);
//void addCandidateUsers(Collection candidateUsers);
//void addCandidateGroup(String groupId);
String eventName = delegateTask.getEventName();
if (EVENTNAME_CREATE.endsWith(eventName)) {
System.out.println("create=========");
}else if (EVENTNAME_ASSIGNMENT.endsWith(eventName)) {
System.out.println("assignment========");
}else if (EVENTNAME_COMPLETE.endsWith(eventName)) {
System.out.println("complete===========");
}else if (EVENTNAME_DELETE.endsWith(eventName)) {
System.out.println("delete=============");
}
}
}



