SOS!!!Spring依赖注入的bean。第一次可以顺利进入方法里,第二次居然卡门上了。

这是一个定时任务:

 JobDetail job2 = newJob(AutoCompleteSearch.class).withIdentity("job2", "group2").build();
            Trigger trigger2 = newTrigger().withIdentity("trigger2", "group2").startNow()
                    .withSchedule(SimpleScheduleBuilder.repeatMinutelyForever(10)).build();

这是进来以后的一个类:

 public class AutoCompleteSearch implements Job {

    private static boolean isWorking = false;
    Logger LOG = LoggerFactory.getLogger(AutoCompleteSearch.class);

    WebSearchContentService service;

    public AutoCompleteSearch() {
        service = (WebSearchContentService) Spring.getBean("webSearchContentService");
    }

    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        if (!isWorking) {
            isWorking = true;
            LOG.info("定时检查下载状态任务正在执行中......isWorking:{},service:{}", isWorking, service);
            if (service != null) {
                service.completeSearch();
            } else {
                LOG.error("检测到service 为空,重新注入service");
                service = (WebSearchContentService) Spring.getBean("webSearchContentService");
                if (service != null) {
                    service.completeSearch();
                } else {
                    LOG.error("service重新注入之后还是为空......{}", service);
                }
            }
            isWorking = false;
            LOG.info("定时检查下载状态任务已完成......isWorking:{}", isWorking);
        }

    }

}

然后这是再进来以后的方法:

 @Component
public class WebSearchContentService {

    Logger LOG = LoggerFactory.getLogger(WebSearchContentService.class);

    public void completeSearch() {
        LOG.debug("准备去获取未完成的条件......");
        }

    }

打印的日志:

定时检查下载状态任务正在执行中......isWorking:true,service:service.WebSearchContentService@5cd070ca
准备去获取未完成的条件......
定时检查下载状态任务已完>成......isWorking:false

定时检查下载状态任务正在执行中......isWorking:true,service:service.WebSearchContentService@5cd070ca

然后后面居然没!有!了!!!

我把

 service = (WebSearchContentService) Spring.getBean("webSearchContentService");

换成了

 ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("spring-hibernate.xml");
        service = (WebSearchContentService) ctx.getBean("webSearchContentService");

问题暂时解决。。。。
但是根本问题还没解决。。。。求高手。

!!!!谁能告诉我为什么???我好懵逼啊~~~~~~~

问题补充,在1小时20分之后,打印出日志:
准备去获取未完成的条件......
定时检查下载状态任务已完>成......isWorking:false

那么问题来了,程序去哪了???