18

@Scheduledspring からアノテーションの例外処理をカスタマイズするには?

サーバー (Tomcat 6) でトリガーされる Cron ジョブがあり、例外が発生した場合は何らかの処理を行う必要があります。

  • 春のバージョン 3.2
  • トムキャット サーバー 6
4

3 に答える 3

4

スケジューリング アノテーションに使用される をErrorHandler実装して登録できます。ThreadPoolTaskScheduler

 <task:annotation-driven scheduler="yourThreadPoolTaskScheduler"  />

 <bean id="yourThreadPoolTaskScheduler" class="org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler">
        <property name="poolSize" value="5" />
        <property name="errorHandler" ref="yourScheduledTaskErrorHandler" />
 </bean>

 <bean id="yourScheduledTaskErrorHandler" 
     class="com.example.YourScheduledTaskErrorHandler"/>
于 2016-03-01T18:41:52.563 に答える
4

ビジネス ロジックをラップして、@schedule メソッドで単純な try catch を実行してみませんか。その後、失敗した場合に必要なアクションをログに記録したり実行したりできます。

@Scheduled(cron = "${schedulerRate}")
public void scheduledJob() {
    try {
        businessLogicService.doBusinessLogic();
    } catch (Exception e) {
        log.error(e);
    }
}
于 2015-07-27T13:13:25.713 に答える