`

quartz调度器执行两次问题

 
阅读更多

在项目中配置了调度器

quartz后,每次都执行两次,网查了一些办法说是配置文件加载两次的问题查找的原因是 ContextLoaderListener 和 DispatcherServlet 对应用上下文重复加载,导致问题出现。

经过排查了下  这个问题还是照样执行两次,所以我的问题以上解决不了,然后经过反复查看代码

发现

@Override
	protected  void executeInternal(JobExecutionContext arg0)  {
		
		log.info("RemindJob have bean started... ");
		ProjectTaskService projectTaskService = (ProjectTaskService) SpringHelper.getBean("cn.utec.server.manager.service.ProjectTaskService");
		projectTaskService.duRemindJob();


	}

 代码中executeInternal方法是不能用SpringHelper.getBean这种形式来装配的,这样装配会加载两次service导致,把这行去掉 ,改成SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);然后@Autowired自动装配就可以了,大功告成

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics