gpt4 book ai didi

Javaquartz 突然停止触发事件

转载 作者:行者123 更新时间:2023-11-30 03:34:10 25 4
gpt4 key购买 nike

我正在使用quartz来安排每日批处理过程,它在第一天运行,但发生了触发事件大约2天的情况,然后,它停止触发作业。

我使用的java版本是:java版本“1.7.0_25”Quartz 版本(POM 格式): org.quartz-scheduler quartz 2.2.1

这是我的代码:

批处理的主要功能:

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 block 之外调用了一个我以前从未见过的数据库连接,所以问题是我没有到达数据库,我无法通过日志信息弄清楚(数据库连接是间歇性的)。发现这一点后,我纠正了数据库问题,quartz 工作正常。

关于Javaquartz 突然停止触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28370184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com