Автоматически отменить весеннее задание на исключение - PullRequest
2 голосов
/ 29 июня 2011

У меня определена задача Spring в контексте весеннего приложения xml:

<task:scheduler id="myScheduler" pool-size="1"/>

<task:scheduled-tasks scheduler="myScheduler">
    <task:scheduled ref="MyClass" method="myMethod" fixed-delay="3000"/>
</task:scheduled-tasks>

Итак, как я могу реализовать, чтобы остановить дальнейшее выполнение задач в случае исключения, в xml или в коде, перехватывая исключение?

1 Ответ

2 голосов
/ 30 июня 2011

Я не думаю, что это можно решить, используя scheduled-tasks, конечно, это может быть неправильно.

Хотя есть альтернатива: config:

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

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

<bean id="scheduledTaskErrorHandler" class="boo.ScheduledTaskErrorHandler" />

И errorHandler:

public class ScheduledTaskErrorHandler implements ErrorHandler {

@Override
public void handleError(Throwable t) {
        // do something, like shutdown the scheduler
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...