使用@PostConstruct 注解
package com.chsu.flowable.listener;
import com.chsu.archives.domain.ArchivesBorrowing;
import com.chsu.archives.service.IArchivesBorrowingService;
import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.delegate.ExecutionListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.List;
@Component
public class UserExecutionListener implements ExecutionListener {
@Autowired
private IArchivesBorrowingService archivesBorrowingService;
private static UserExecutionListener userExecutionListener;
@PostConstruct
public void init(){
userExecutionListener = this;
userExecutionListener.archivesBorrowingService = this.archivesBorrowingService;
}
@Override
public void notify(DelegateExecution delegateExecution) {
System.out.println("执行监听器");
List<HashMap> list = userExecutionListener.archivesBorrowingService.selectVarinstByParentId(delegateExecution.getParentId());
for(HashMap<String,String> map : list){
if("id".equals(map.get("name"))){
String text = map.get("text");
long borringId = Long.parseLong(text);
ArchivesBorrowing archivesBorrowing = new ArchivesBorrowing();
archivesBorrowing.setId(borringId);
archivesBorrowing.setBorrowingApproval(2);
userExecutionListener.archivesBorrowingService.updateArchivesBorrowing(archivesBorrowing);
break;
}
}
}
}