gpt4 book ai didi

java - spring-多任务延迟执行

转载 作者:行者123 更新时间:2023-12-01 05:32:37 25 4
gpt4 key购买 nike

我有 spring 3.0 应用程序,它连接到 WebService。 Web 服务请求限制为每秒 1 个,我需要触发约 1000 个请求,每个请求之间有 1 秒的延迟。我正在尝试使用 Spring TaskExecutor 来做到这一点,我找到了示例 here

但是如何设置每个 taskExecutor.execute 调用之间的 1 秒延迟?

我正在使用的示例中的代码:

    import org.springframework.core.task.TaskExecutor;

public class TaskExecutorExample {

private class MessagePrinterTask implements Runnable {

private String message;

public MessagePrinterTask(String message) {
this.message = message;
}

public void run() {
System.out.println(message);
}

}

private TaskExecutor taskExecutor;

public TaskExecutorExample(TaskExecutor taskExecutor) {
this.taskExecutor = taskExecutor;
}

public void printMessages() {
for(int i = 0; i < 25; i++) {
taskExecutor.execute(new MessagePrinterTask("Message" + i));
}
}
}

最佳答案

它称为fixedDelay或fixedRate,具体取决于您的具体需要

<task:scheduled-tasks scheduler="myScheduler">
<task:scheduled ref="someObject" method="someMethod" fixed-delay="1000"/>
<task:scheduled ref="someObject" method="someOtherMethod" fixed-rate="1000"/>
</task:scheduled-tasks>

  @Scheduled(fixedDelay=1000)

  @Scheduled(fixedRate=1000)

Spring Reference 中有详细记录,您可以从中获取示例

关于java - spring-多任务延迟执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8727517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com