2016-05-25 13 views
0

私はTomcatバージョン7.0を使用しています。私の要件は、Tomcatが起動したときに定期的にいくつかのジョブをスケジュールするQuartzSchedulerを開始することです。


私はContextListener(これはcontextInitializedメソッド内でスケジューラを開始し、contextDestroyedメソッド内でスケジューラをシャットダウンするためのきれいな方法かもしれません)またはその他の方法を使用して、石英スケジューラ(MVCを使用せずに)

*注:MAVEN

答えて

0

を使用せずに、あなたは非常によくのServletContextListener(QuartzTestListener)を実装することができますし、contextInitializedメソッドを実装し、前記ウェブのXMLファイルに

<listener> 
     <listener-class>com.test.QuartzTestListener</listener-class> 
    </listener> 

以下のようなものをこのリスナーを追加以下のようなもの:

@Override 
public void contextInitialized(ServletContextEvent ctx) { 
    JobDetail job = JobBuilder.newJob(QuartzJob.class) 
    .withIdentity("testJobName", "test1").build(); 

    try{ 
     Scheduler scheduler = ((StdSchedulerFactory) ctx.getServletContext().getAttribute(QuartzInitializerListener.QUARTZ_FACTORY_KEY)).getScheduler(); 
     scheduler.scheduleJob(job, new CronTrigger(...));  
    }catch(SchedulerException e){ 
    } 
} 

また、 QuartzInitializerListener

関連する問題