Java 每1秒从spring调度程序发送50个请求
我使用以下方法创建了调度程序:Java 每1秒从spring调度程序发送50个请求,java,spring,scheduled-tasks,scheduler,threadpoolexecutor,Java,Spring,Scheduled Tasks,Scheduler,Threadpoolexecutor,我使用以下方法创建了调度程序: @Scheduled(fixedDelay = 1000L) public void sendRequest() { client.getData(); //send request to some server } 每秒我需要发送50个请求(调用client.getData()) 我怎么做 这个例子很糟糕,但我写它是为了说明我需要什么: @Scheduled(fixedDelay = 1000L) public void sendR
@Scheduled(fixedDelay = 1000L)
public void sendRequest() {
client.getData(); //send request to some server
}
每秒我需要发送50个请求(调用client.getData()
)
我怎么做
这个例子很糟糕,但我写它是为了说明我需要什么:
@Scheduled(fixedDelay = 1000L)
public void sendRequest() {
for(int i=0; i<50; i++){
taskExecutor.execute(() -> client.getData()); //send request to some server
}
}
@Scheduled(fixedDelay=1000L)
public void sendRequest(){
for(int i=0;i client.getData());//向某个服务器发送请求
}
}
或者我可能需要创建50个调度程序,每个调度程序每秒都会触发
@Scheduled(fixedDelay = 1000L)
@Scheduled注解的处理是通过注册。Bean后处理器,它注册用@Scheduled注释的方法,并根据通过注释提供的“fixedRate”、“fixedDelay”或“cron”表达式由调用。
这里我们有一个并发的故事。如果您使用作为TaskScheduler实现,那么实际上,您已经实现了Spring的TaskScheduler接口,包装了本机。我们一步一步地来到s。它们确实需要CPU时间。CPU时间与您的机器及其配置有关
您可以出于自己的目的使用此注释,但真正的性能取决于您的机器,应用程序部署在哪里。如果机器的配置(CPU等)提供每秒准确处理/发送50个请求的能力,那就不客气了。如果您尝试在不同的计算机上以独立应用程序的形式启动50个调度程序,也可以解决您的问题