Java 第一个请求超时,然后所有请求均已送达
我正在使用SpringBoot框架和jetty作为容器编写SpringREST服务。 在控制器中,我使用了这样的可调用函数Java 第一个请求超时,然后所有请求均已送达,java,spring,spring-mvc,spring-boot,spring-restcontroller,Java,Spring,Spring Mvc,Spring Boot,Spring Restcontroller,我正在使用SpringBoot框架和jetty作为容器编写SpringREST服务。 在控制器中,我使用了这样的可调用函数 @RequestMapping(value = "/{key}/events", method = RequestMethod.GET) public Callable<String> getEvents(@PathVariable("key") final String key, @RequestParam(required
@RequestMapping(value = "/{key}/events", method = RequestMethod.GET)
public Callable<String> getEvents(@PathVariable("key") final String key,
@RequestParam(required = false) final String startAt,
@RequestParam(required = false) final String maxResults) {
return new Callable<String>() {
@Override
public String call() throws Exception {
// here logic that return json string
}
}
}
现在我的问题是当我运行应用程序时
我第一次点击浏览器中的url时,它没有给出输出(来自jetty服务器的service not available消息)
但是我第二次、第三次、第四次点击URL,它给了我输出
那么,对于实现可调用控制器,我是否遗漏了什么
我调试代码,发现第一次内部处理仍在进行,浏览器完成响应
那我该怎么办?请建议,
我的主要目标是,控制器应在特定时间接受更多的客户请求并作出响应。这应该对您有所帮助:这也有帮助:您是否解决了问题@SanjayThis应该对你有帮助:这个问题你解决了吗@桑贾伊
@Bean
public EmbeddedServletContainerFactory servletContainer(){
JettyEmbeddedServletContainerFactory jetty=new JettyEmbeddedServletContainerFactory();
jetty.addServerCustomizers(new JettyServerCustomizer() {
@Override
public void customize(final Server server) {
// Tweak the connection pool used by Jetty to handle incoming HTTP connections
final QueuedThreadPool threadPool = server.getBean(QueuedThreadPool.class);
threadPool.setMaxThreads(Integer.valueOf(200));
threadPool.setMinThreads(Integer.valueOf(100));
threadPool.setIdleTimeout(Integer.valueOf(100000));
threadPool.setStopTimeout(10000);
}
});
jetty.setPort(4040);
jetty.setContextPath("/mycontextpath");
return jetty;
}