gst*_*low 14 java nio spring-mvc servlet-3.1 spring-boot
有2种不同的功能可用:
Servlet 3.0允许在不同于容器线程的线程中处理请求。
Servlet 3.1允许在不阻塞读取/写入线程的情况下读取/写入套接字
互联网上有很多关于Servlet 3.0功能的示例。我们可以很轻松地在Spring中使用它。我们只需要返回DefferedResult或CompletableFuture
但是我在春季找不到使用servlet 3.1的示例。据我所知,我们必须注册WriteListener并ReadListener在内部进行肮脏的工作。但是我找不到那个监听器的例子。我相信这不是很容易。
您能否在春季提供Servlet 3.1功能的示例以及Listener实现的说明?
如果您正在寻找 Spring/Servlet 3.1 非阻塞 HTTP API 声明的示例,请尝试以下操作:
@GetMapping(value = "/asyncNonBlockingRequestProcessing")
public CompletableFuture<String> asyncNonBlockingRequestProcessing(){
ListenableFuture<String> listenableFuture = getRequest.execute(new AsyncCompletionHandler<String>() {
@Override
public String onCompleted(Response response) throws Exception {
logger.debug("Async Non Blocking Request processing completed");
return "Async Non blocking...";
}
});
return listenableFuture.toCompletableFuture();
}
Run Code Online (Sandbox Code Playgroud)
需要 Servlet 容器级别的 Spring Web 5.0+ 和 Servlet 3.1 支持(Tomcat 8.5+、Jetty 9.4+、WildFly 10+)
| 归档时间: |
|
| 查看次数: |
664 次 |
| 最近记录: |