Java quartz突然停止触发事件
我正在使用quartz计划一个每日批处理过程,它在第一天运行,但触发事件大约2天,然后停止触发作业 我使用的java版本是: java版本“1.7.0_25” 石英版(POM): org.quartz-scheduler 石英 2.2.1 这是我的密码: 批次的主要功能:Java quartz突然停止触发事件,java,batch-file,quartz-scheduler,Java,Batch File,Quartz Scheduler,我正在使用quartz计划一个每日批处理过程,它在第一天运行,但触发事件大约2天,然后停止触发作业 我使用的java版本是: java版本“1.7.0_25” 石英版(POM): org.quartz-scheduler 石英 2.2.1 这是我的密码: 批次的主要功能: public static void main(String[] args) { try { SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-d
public static void main(String[] args) {
try {
SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
JobDetail job = JobBuilder.newJob(MyJobClass.class).withIdentity("MyJobClass", "group1").build();
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("MyTrigger", "group1")
.withSchedule(
SimpleScheduleBuilder.simpleSchedule()
.withIntervalInHours(24).repeatForever())
.startAt(sd.parse("2015-01-12 07:30:00"))
.build();
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(job, trigger);
String strLog="Batch initiated on " + new Date();
System.out.println(strLog);
log.info(strLog);
} catch (Exception e) {
//log error
}
}
下面是我在作业中的执行方法:
public void execute(JobExecutionContext arg0) throws JobExecutionException {
generateBatchProcess();
}
public void generateBatchProcess(){
try{
//do lots of interesting stuff, calling MyBatis Daos, generating excel files and sending an email
}catch (Exception e){
//log error
}
}
有人知道为什么会这样吗?垃圾收集器与此有关吗?我很惭愧地承认这只是一个“BadProgrammerException”,因为我在try…catch块之外调用了一个数据库连接,这是我以前没有看到过的,所以问题是我没有访问数据库,我无法通过日志信息找到它(数据库连接是间歇性的)。在我发现这一点后,我纠正了数据库问题,quartz工作正常。您能确认是否记录了任何错误吗?这正是问题所在。我没有看到任何错误。据我所知,事件没有被触发。回顾您的代码,您是否考虑过使用catch(Throwable t)而不是catch(Exception e)?可以抛出的错误不是异常。我不认为我能提供更多帮助。你解决了这个问题吗?我面临着同样的问题。作业随机停止触发。我对此感到羞愧,因为这是一个“糟糕的程序员异常”,我在try块外调用了一个我以前从未见过的数据库连接,然后我可以看到日志错误并解决它。我担心,如果这不是你的情况,那么我需要你的代码来帮助你。