spring quartz有时执行正常,有时执行好多次?
我没有用tomcat,直接通过main方法启动的。
ApplicationContext context = new ClassPathXmlApplicationContext("spring-*.xml");
SchedulerService schedulerService = (SchedulerService)context.getBean("schedulerService");
JobService jobService = (JobService) context.getBean("jobService");
LoaderScheduler loaderScheduler = new LoaderScheduler();
loaderScheduler.loader(jobService,schedulerService);
启动spring的时候,有时执行正常,但是有时一起执行了好几次。我已经把quartz的配置文件。spring-quartz.xml独立出来了。不过过一会就好了。只是启动的时候有时执行正常。有时执行好几次。比如我每10秒执行一次。0/10 * * ? * * * ,启动spring容器之后,有时正常,有时1-5次不等。
哪个大神遇到过这种情况?
启动spring,有时正常,执行1次。有时同时执行好几次?如果组件扫描实例化了多次。应该每次都执行几次啊。我现在用cron表达式 0/10 * * ? * * * , 10秒执行一次。Quartz会在每分钟的10秒,20秒,30秒,40,50,00,开始执行。我出错的时候一般都是在不足整秒的时候。也就是说。可能在15秒,18秒这样的时间。执行多次。直到到整秒的时候才开始运行正常。直接执行下面的代码。后面的都注销了。问题一样得不到解决。
ApplicationContext context = new ClassPathXmlApplicationContext("spring-*.xml");
我怀疑这个貌似是quartz的bug。它在计算秒的任务的时候。或者是多线程同时执行executeInternal方法。
或者哪个大神知道是怎么回事?