我应该在生产中使用什么tomcat本机库?

当我编译我的spring mvc app时,我在输出中得到了这个:

INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_17\bin;...... 

我究竟应该在生产中使用这个指的是什么?

Tomcat-native是Tomcat的一个版本,它使用高度优化的Apache Portable Runtime(APR),这是为Apache HTTP服务器提供支持的相同框架。

看一下这个讲话, http://www.infoq.com/presentations/Tuning-Tomcat-Mark-Thomas ,其中一位Tomcat开发人员讨论如何调整Tomcat – 包括哪些连接器(如NIO或APr)考虑。 您获得的有关APR的消息是指Tomcat Native

我发现了一个post :

如果需要,您可以放心地忽略此消息。 基本上它告诉你找不到可选的共享库(Windows上的DLL)。 APR是Apache Portable Runtime。 这是一个本机(非Java)库,可以在某些情况下提高Tomcat的性能。 在Windows和Unix / Linux上,您将需要一个C编译器来构建此库。

我的情况:看到相同的INFO消息。

Centos 6.2 x86_64 Tomcat 8.0.14

这解决了我的问题:

yum安装tomcat-native

我对Tomcat很新,面临同样的问题; 我想是因为我没有正确停止服务器。

在Eclipse中,在“服务器”选项卡上,右键单击“Tomcat”,然后单击“清除”。 重启服务器。 它对我有用。

要让APRWindows服务器上运行

  • 将APR本机库安装到Tomcat bin目录中(对于64 bit使用x64子文件夹中的tcnative文件)

  • 将Tomcat bin文件夹添加到Windows %path% (这会将openssl添加到您的路径中)

补充说明:

您不能将Java keystoreAPR连接器一起使用,因为它需要使用普通Apache格式的证书。 要转换我使用的pfx证书:

 openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key openssl pkcs12 -in domain.pfx -out domain-ca.crt -nodes -nokeys -cacerts 

然后,您将能够使用Tomcat的server.xmlAPR连接器取消注释/启用示例SSL