我是Springboot的新手。我创建了以下REST API。如果此API同时收到多个请求,我希望它一个接一个地处理而不丢失任何请求。如果发出多个请求,我希望以20秒的延迟进行此服务调用。
@RequestMapping({"/create"})
public Response processCreation(@RequestBody(required=false) RequestDTO requestDTO) throws Exception {
Response response = new Response();
response=interceptorService.interceptData(requestDTO);
return response;
}
最佳答案
我认为更好的方法是在代码级别处理此用例(而不是通过某些springboot配置)。
提出请求后,请获取所有相关参数并将其添加到某种队列中。
您将拥有一个线程/线程池,该线程/线程池将从该队列中读取,处理请求并发送响应。
除了将新任务调度到队列之外,请求线程将不执行任何操作。该处理将由专用线程池/线程进行。
然后,您还可以添加所需的20秒延迟。
关于java - 如何创建Rest API并增加处理时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66477738/