我有Spring 3.0应用程序,它连接到WebService。 web服务请求被限制为每秒1次,并且我需要在每个请求之间以1秒的时间间隔启动约1000次请求。 我正在尝试使用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));
}
}
}
@Ralph 但这两种方法立即(或延迟后)触发操作,然后在延迟/周期后重复操作。所以在这个简单的例子中,它会写入:“Message0”,“Message1 ...”,然后等待1秒钟。 我想写:“Message0”,等待1秒,然后写“Message1”。不重复,每次操作之间有延迟。 – 2012-01-04 14:24:43