@Scheduled
spring からアノテーションの例外処理をカスタマイズするには?
サーバー (Tomcat 6) でトリガーされる Cron ジョブがあり、例外が発生した場合は何らかの処理を行う必要があります。
- 春のバージョン 3.2
- トムキャット サーバー 6
@Scheduled
spring からアノテーションの例外処理をカスタマイズするには?
サーバー (Tomcat 6) でトリガーされる Cron ジョブがあり、例外が発生した場合は何らかの処理を行う必要があります。
スケジューリング アノテーションに使用される を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"/>
ビジネス ロジックをラップして、@schedule メソッドで単純な try catch を実行してみませんか。その後、失敗した場合に必要なアクションをログに記録したり実行したりできます。
@Scheduled(cron = "${schedulerRate}")
public void scheduledJob() {
try {
businessLogicService.doBusinessLogic();
} catch (Exception e) {
log.error(e);
}
}