【发布时间】:2011-01-25 22:50:51
【问题描述】:
我必须让 Web 应用程序监听套接字(ServerSocket),并处理套接字流。
但应用程序只是部署在 Tomcat 中,它只是一个 servlet 容器,它没有 JCA 支持。而且在servlet线程中建立服务器socket是不合理的。
解决方案 1:
丑陋的解决方案是编写一个独立的java应用程序来监听socket,然后与web服务器通信。但这不是一个合理的解决方案。
解决方案 2:
我写了一个ServletContextListener,它在contextInitialized()时开始监听socket,一旦收到一个socket,就会被一个线程处理。这意味着线程池位于 ServletContext 中。当然,我是在 contextDestroyed 的时候销毁线程池的。
您对解决方案有何看法?
【问题讨论】:
标签: java tomcat servlets sockets