首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Spring批中重试tasklet?

如何在Spring批中重试tasklet?
EN

Stack Overflow用户
提问于 2013-09-18 04:57:36
回答 2查看 4.6K关注 0票数 5

如何重试方法调用器任务,我知道如果块任务失败,就有重试选项,还有设置退避策略的选项,但是,在方法调用任务xsd中,我找不到retry选项。在失败的情况下,是否还有其他选择可以重试任务。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-18 05:18:49

您可以使用spring和声明式重试;只需应用<aop:config>标记并配置拦截器即可。

若要更改策略或侦听器,只需将RetryTemplate实例注入拦截器。

票数 3
EN

Stack Overflow用户

发布于 2017-05-04 15:21:52

当我的REST调用无法读取数据时,我需要重新尝试。春天的重试不会重审读者的失败。这个解决方案基本上就是@Luca使用RetryTemplate和aop说的。

代码语言:javascript
复制
<bean id="retryAdvice"
    class="org.springframework.retry.interceptor.RetryOperationsInterceptor">
    <property name="retryOperations">
        <bean class="org.springframework.retry.support.RetryTemplate">
            <property name="retryPolicy">
                <bean class="org.springframework.retry.policy.SimpleRetryPolicy">
                    <property name="maxAttempts" value="5" />
                </bean>
            </property>
            <property name="backOffPolicy">
                <bean class="org.springframework.retry.backoff.ExponentialBackOffPolicy">
                    <property name="initialInterval" value="3000"></property>
                    <property name="maxInterval" value="60000"></property>
                </bean>
            </property>
        </bean>
    </property>
</bean>
<aop:config>
    <aop:pointcut
        expression="execution(* com.mypackage.MyService.get*(..))"
        id="remoteMethodPointCut"></aop:pointcut>
    <aop:advisor pointcut-ref="remoteMethodPointCut"
        advice-ref="retryAdvice" />
</aop:config>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18864162

复制
相关文章

相似问题

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