Websocket Tomcat 8.5线程模型

Websocket Tomcat 8.5线程模型,websocket,netty,threadpool,tomcat8,servlet-3.1,Websocket,Netty,Threadpool,Tomcat8,Servlet 3.1,我的应用程序通过Tomcat8.5(Servlet3.1)的JSR356实现使用Web套接字。根据JSR,它应该使用NIO,但我不确定是否理解 当客户端请求Web套接字连接时,将在客户端和服务器之间创建永久对话。在本例中,我想知道客户端或服务器的每个请求是否由Tomcat池的不同线程处理,或者同一线程是否始终专用于此连接 此外,该线程如何处理该请求?例如,它是等待JDBC调用(阻塞IO),还是在这种情况下释放(NIO)?与众所周知只使用NIO的Netty相比,Tomcat线程模型在websock

我的应用程序通过Tomcat8.5(Servlet3.1)的JSR356实现使用Web套接字。根据JSR,它应该使用NIO,但我不确定是否理解

当客户端请求Web套接字连接时,将在客户端和服务器之间创建永久对话。在本例中,我想知道客户端或服务器的每个请求是否由Tomcat池的不同线程处理,或者同一线程是否始终专用于此连接


此外,该线程如何处理该请求?例如,它是等待JDBC调用(阻塞IO),还是在这种情况下释放(NIO)?与众所周知只使用NIO的Netty相比,Tomcat线程模型在websocket中有何不同/相似之处

当有数据要处理时,从池中分配一个线程来处理WebSocket连接上的传入数据。完成后,线程返回池。有可能(事实上很可能)每次都会使用不同的线程

传出消息将使用阻塞或非阻塞IO,具体取决于使用API的哪一部分


JDBC调用通常是块,但这是由JDBC驱动程序控制的。应用程序如何处理JDBC调用以及与WebSocket消息的关系(如果有)取决于应用程序。

谢谢。你看到Netty与WebSocket的一些区别了吗?Netty不是Apache产品。我从来没用过。