java - 如何创建Rest API并增加处理时间?

标签 java multithreading rest threadpool

我是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/

相关文章:

c++ - 在 Win32/MFC 和 POSIX 中,线程会自行清理吗?

java - 从 ByteBuffer/Netty ByteBuff 并行/多线程读取

java - 同时读写 ConcurrentHashMap 的值对象

wordpress - 是否可以在 WooCommerce API 订单端点中选择多个状态?

java - Spring @RestController 自定义 JSON 反序列化器

json - Alamofire 请求慢?

java - Mockito 中的 ClassCastException

java - Linux/Ubuntu - 在不使用 FreeTTS 的情况下从 Java 进行语音合成

java - 当使用 Endpoint 类发布 Web Service 时,WSDL 在哪里创建?

Java : arraylist shows empty when it used to show null values