首页 > 解决方案 > 只有 1 个线程访问 RestController 方法

问题描述

我正在使用 Spring Rest API 创建应用程序。我面临一个奇怪的问题,一次只有 1 个线程能够访问 Controller 方法。下面是代码片段。

如果调用多个rest服务即getSample,此时只有1个线程在执行该方法,其余线程正在等待完成。这与同步方法的工作相同

提前致谢。

@RestController
Class Sample {

    @RequestMapping(value = "/controller/sample",  method = RequestMethod.POST)
    @ResponseBody
    public Object getSample(@RequestBody String input) {
        System.out.println("Hello World !!")
    }
}

标签: javaspringspring-bootspring-restcontroller

解决方案


它是多线程的,使用这样的东西来测试它

@RestController
Class Sample {

@RequestMapping(value = "/controller/sample",  method = RequestMethod.POST)
@ResponseBody
public Object getSample(@RequestBody String input) {
    System.out.println("Hello World !!")
    Thread.sleep(4000);
    System.out.println("GoodBye World !!")
}
}

多次调用,你会看到一些'Hello World !!' 第一的。


推荐阅读