【问题标题】:How to listen a socket in Tomcat(servlet container)?如何监听 Tomcat(servlet 容器)中的套接字?
【发布时间】: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


    【解决方案1】:

    “独立 Java 应用程序”可以在 ServletContextListener 内部执行。您可以使用ExecutorService 管理线程池。

    【讨论】:

    • 然后使用 标签将实现的 ServerContextListener 添加到 web.xml 中。 :D
    猜你喜欢
    • 1970-01-01
    • 2011-02-15
    • 2016-10-12
    • 2013-03-29
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    相关资源
    最近更新 更多