Java @计划注释-用于循环
我需要使用计划注释。我在字符串列表中有几个剩余的字符串,我想每6分钟逐一检查一次 应启动第一次休息,6分钟后执行第二次休息 如何在调度方法中进行这种循环Java @计划注释-用于循环,java,spring,annotations,spring-scheduled,Java,Spring,Annotations,Spring Scheduled,我需要使用计划注释。我在字符串列表中有几个剩余的字符串,我想每6分钟逐一检查一次 应启动第一次休息,6分钟后执行第二次休息 如何在调度方法中进行这种循环 此外,我不能将任何参数放在方法错误原因中(只有arg方法可以用@Scheduled注释)。有什么方法可以做到这一点吗?一种方法是使用SchedulingConfigurer类而不是@Scheduled并动态计算下一个执行时间 下面是一个示例代码 @EnableScheduling class SomeClass implements Sched
此外,我不能将任何参数放在方法错误原因中(
只有arg方法可以用@Scheduled
注释)。有什么方法可以做到这一点吗?一种方法是使用SchedulingConfigurer
类而不是@Scheduled
并动态计算下一个执行时间
下面是一个示例代码
@EnableScheduling
class SomeClass implements SchedulingConfigurer{
// Autowire and initialize the beans you need to execute your task.
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
taskRegistrar.addTriggerTask(new Runnable() {
@Override
public void run() {
// Execute your task
}
}, new Trigger() {
@Override
public Date nextExecutionTime(TriggerContext triggerContext) {
String cron = createCron(); // Create cron expression for next execution
CronTrigger trigger = new CronTrigger(cron);
return trigger.nextExecutionTime(triggerContext);
}
});
}
private String createCron() {
// return cron expression for next trigger
}
}
这使用了spring上下文中可用的默认调度程序为什么不能用
@Scheduled
创建两个方法,间隔6分钟有11个REST,我必须检查使用线程…@Mohammad由于架构原因,这是不可能的。难道你不能使用@Scheduled with fixedDelay并让你的工作在bean成员变量中完成吗?在你的bean构造函数中设置它们。谢谢你的回答。我会尝试以你的方式执行