运行应用程序时出现Spring任务计划+ Spring Retry问题

时间:2018-09-09 03:34:37

标签: java spring spring-mvc spring-boot

下面是我们的春季启动代码段,我们有必要在项目中每15分钟运行一次以下start()作业,而在执行此操作(如果有异常)时,必须每5分钟重试一次,其工作原理与预期的一样在成功的情况下,但在失败的情况下,即使超过15分钟的计划时间,它也会连续尝试重试,直到达到maxattemppts。可重试工作是否比计划任务优先?如何将重排任务比重试任务赋予更高的优先级,如何以固定速率执行重排任务?预先感谢

public static void start(){
        @Scheduled(fixedRate=15 * 60*1000)
        @PostConstruct
        public void runMyjob() throws InterruptedException{
            retryTask.task();
    }   
}
@Component
@EnableRetry
class RetryTask{
    int count=0;
    @Retryable(value={NullPointerException.class}, maxAttempts=30, backoff=@Backoff(delay=5*60*1000))
    public String task(){           
        System.out.println("task retry count"+count++);
    }
}

0 个答案:

没有答案