public class WechatNotifyRunable implements Runnable {
private final Logger logger = Logger.getLogger(WechatNotifyRunable.class);
private static List notifyList = new ArrayList();
private UserInfoDao userInfoDao;
private CheckInOutDao checkInOutDao;
private UserinfoMachinesDao userinfoMachinesDao;
private FaceApplyDao faceApplyDao;
private PersonDao personDao;
private LocalCacheRedisDao localCacheRedisDao;
private MachineDao machineDao;
private static ThreadPoolTaskExecutor jobtaskExecutor;
// 保存上一个personid
public static HashMap<String, Long> lastPersonMap = new HashMap<String, Long>();
// 保存上一个Transactionid
public static HashMap<String, Long> lastTransactionMap = new HashMap<String, Long>();
/**
-
构造函数,初始化dao层对象
*/
public WechatNotifyRunable() {//获取子容器sevlet, 不能获取父容器root,父容器中不存在service和dao实体bean
ServletRequestAttributes sevletRequestAttributes =
(ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest request = sevletRequestAttributes.getRequest();
WebApplicationContext servletContext = (WebApplicationContext)
request.getAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE);
//从容器中获取Dao层Bean
userInfoDao = servletContext.getBean(“userInfoDao”,UserInfoDao.class);
localCacheRedisDao = servletContext.getBean(LocalCacheRedisDao.class);
}
@Override
public void run() {
}
}
原文引自:https://blog.csdn.net/u011783999/article/details/105316188?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-1-105316188.nonecase