Java @计划注释-用于循环

Java @计划注释-用于循环,java,spring,annotations,spring-scheduled,Java,Spring,Annotations,Spring Scheduled,我需要使用计划注释。我在字符串列表中有几个剩余的字符串,我想每6分钟逐一检查一次 应启动第一次休息,6分钟后执行第二次休息 如何在调度方法中进行这种循环 此外,我不能将任何参数放在方法错误原因中(只有arg方法可以用@Scheduled注释)。有什么方法可以做到这一点吗?一种方法是使用SchedulingConfigurer类而不是@Scheduled并动态计算下一个执行时间 下面是一个示例代码 @EnableScheduling class SomeClass implements Sched

我需要使用计划注释。我在字符串列表中有几个剩余的字符串,我想每6分钟逐一检查一次

应启动第一次休息,6分钟后执行第二次休息

如何在调度方法中进行这种循环


此外,我不能将任何参数放在方法错误原因中(
只有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构造函数中设置它们。谢谢你的回答。我会尝试以你的方式执行