我在Spring应用程序上下文xml中定义了一个spring Task:
<task:scheduler id="myScheduler" pool-size="1"/>
<task:scheduled-tasks scheduler="myScheduler">
<task:scheduled ref="MyClass" method="myMethod" fixed-delay="3000"/>
</task:scheduled-tasks>那么,在出现异常的情况下,我如何通过捕获异常来实现停止任务的进一步执行呢?
发布于 2011-06-30 16:13:59
我不认为这是可以用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
}
}https://stackoverflow.com/questions/6521760
复制相似问题