下面是我们的春季启动代码段,我们有必要在项目中每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++);
}
}