【问题标题】:Run servlet container using unix domain sockets?使用 unix 域套接字运行 servlet 容器?
【发布时间】:2012-08-07 08:20:18
【问题描述】:

我有一个 servlet,我想通过 unix 域套接字连接到,因为由于安全策略,我无法开始侦听新的 TCP 端口。不幸的是,我一直找不到可以通过 unix 域套接字提供服务的 servlet 容器。到目前为止,我已经看过 Tomcat 和 Jetty。

【问题讨论】:

    标签: tomcat servlets jetty


    【解决方案1】:

    首先,您需要弄清楚如何在 java 上支持 unix 域套接字。

    之前的问题解决了这个问题。 UNIX Domain Socket in JavaUNIX socket implementation for Java?

    看起来 junixsocket 可能能够将自己呈现为 Socket,如果是这种情况,那么您将想看看是否可以使用各种引导类路径工具替换默认的 Java java.net.Socket 实现。到那时,任何支持经典 Sockets 的东西,比如(早期版本的)Jetty 及其 SocketConnector(不是 NIO 或 SSL)都应该(理论上)工作。

    【讨论】:

      【解决方案2】:

      我不相信 JVM 将 UNIX 域套接字公开给任何 Java 代码。如果您想使用 UNIX 域套接字,我认为您必须编写自己的本机代码来侦听并将字节代理到容器。这听起来可行,但肯定不愉快。

      【讨论】:

      • 如果它有负载 Curl 或 Boost 库,它会很高兴让它处理 java 启动时间以及 C/C++ 应用程序启动时间,并且使用 UNIX 套接字它会非常可靠并且非常快。使用默认 JVM 或任何东西没有意义,因为那没有意义。
      猜你喜欢
      • 1970-01-01
      • 2020-02-15
      • 2014-07-24
      • 1970-01-01
      • 1970-01-01
      • 2010-11-02
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多