java - 使用 NIO 将 Tomcat 服务器作为 Windows 服务运行

标签 java tomcat

背景:我们继承了一个使用Tomcat Server NIO 连接器(带SSL)进行开发的Java 项目。项目安装程序在部署产品时将 Tomcat 安装为 Windows 服务。没有尝试在 server.xml 文件中配置 APR 连接器(使用 SSL)而不是 NIO 连接器,因为看起来 Tomcat 在开发和生产日志中都按预期执行。

这种做法危险吗?使用两个 server.xml 文件,一个用于开发 (NIO) 一个用于生产 (APR) 不是更好吗?

最佳答案

在您的情况下,APR 和 NIO 连接器之间的主要区别在于您使用的是 SSL。 APR 的 SSL 配置使用 OpenSSL,而 NIO 连接器使用 Java 自己的 JSSE。

在负载非常高的环境中,您可能会看到使用 APR+OpenSSL 提高应用程序的 HTTPS 保护部分的速度,但是 NIO 在大量并发连接时表现非常好。

与您的应用程序使用的 CPU 周期相比,SSL 解码/解密通常只占工作的很小一部分。

如果它表现良好,那很好。在生产中使用 NIO+SSL 当然没有危险。

关于java - 使用 NIO 将 Tomcat 服务器作为 Windows 服务运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10506287/

相关文章:

java - IntelliJ IDEA 13 : Formatting Code Style for Java "throw new"

java - 使用JdbcTemplate的queryForList方法

java - 使用 java、json、ajax 和 html 在行中显示图像/名称对 - 当前显示在列中

java - 如何修复在 Tomcat 7 中不呈现的 jSTL c foreach 标签?

eclipse - Windows 8 上的 Xampp : Error Attemting to start tomcat service

javax.servlet.ServletException : java. lang.NoClassDefFoundError:JspException

java - yarn 容器执行器退出代码 24 错误

java - 匹配的通配符是严格的,但找不到元素 'context:annotation-config' 的声明

android - 谷歌应用引擎,gradle,开放端口

tomcat - Liferay 文件入口 0 字节