Apache camel Javamail的骆驼路由在关闭时未停止
我有一条简单的路线Apache camel Javamail的骆驼路由在关闭时未停止,apache-camel,jakarta-mail,quartz-scheduler,Apache Camel,Jakarta Mail,Quartz Scheduler,我有一条简单的路线 from( "myQuartz://EMAIL_Route?cron=0+0/5+*+*+*+?") .routeId("EMAIL_Route") .shutdownRunningTask( ShutdownRunningTask.CompleteCurrentTaskOnly) .beanRef("errorReportProcesso
from(
"myQuartz://EMAIL_Route?cron=0+0/5+*+*+*+?")
.routeId("EMAIL_Route")
.shutdownRunningTask(
ShutdownRunningTask.CompleteCurrentTaskOnly)
.beanRef("errorReportProcessor")
.filter((body().isNotNull()))
.to("smtp://smtpHost?From=someone&to=someoneElse&Subject=something").end();
即使我关闭了WebSphereApplicationServer中的应用程序,我仍然会收到电子邮件。计划程序/线程未停止。在我的石英属性文件中,我也尝试了
org.quartz.scheduler.makeSchedulerThreadDaemon=true
org.quartz.scheduler.makeSchedulerThreadDaemon=true
但是,没有结果。Camel、Quartz和Mail组件版本为2.12.4。弹簧3.2.5.释放。WebSphere8
SystemOut.log文件清楚地提到,应用程序停止时没有出现错误。但是,我可以看到一个java.exe实例正在任务管理器中运行。确定。我发现问题在于缺少“根应用程序上下文”。一旦配置了“根应用程序上下文”,Cron调度程序现在停止,不再有搁浅的线程。:) 甚至不需要MakeSchedulerReadDaemon的额外配置