首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常时自动取消Spring任务

异常时自动取消Spring任务
EN

Stack Overflow用户
提问于 2011-06-29 21:52:54
回答 1查看 3.6K关注 0票数 2

我在Spring应用程序上下文xml中定义了一个spring Task:

代码语言:javascript
复制
<task:scheduler id="myScheduler" pool-size="1"/>

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

那么,在出现异常的情况下,我如何通过捕获异常来实现停止任务的进一步执行呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-30 16:13:59

我不认为这是可以用scheduled-tasks解决的,当然可能是错误的。

不过,还有一种替代方法,config:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
public class ScheduledTaskErrorHandler implements ErrorHandler {

@Override
public void handleError(Throwable t) {
        // do something, like shutdown the scheduler
}
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6521760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档