问题描述
启动liferay之后,在控制台中打印出会打印出以下信息:
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:……
意思是可让生产环境中达到最佳性能的Apache Tomcat本地库为基础的APR(Apache可移植运行库)不能在java类库路径中被找到。
这个问题虽然不影响tomcat的正常运行,但是能提升tomcat的性能,还是值得我们花些时间来关注的。
解决方法
从Tomcat官方网址http://tomcat.apache.org/download-native.cgi下载最新的tomcat-native-1.1.33-win32-bin.zip。
压缩包中包含32位、64位(x64)和英特尔安腾64位CPU架构(i64)三种类型的tcnative-1.dll,必须选择和我们电脑或者服务器CPU匹配的文件。
我的电脑是64为架构,因此选择x64文件夹下的tcnative-1.dll文件。
将tcnative-1.dll拷贝到java类库能够找到的位置即可,就是提示信息后面省略的哪些路径,通常情况下一般放在jdk的bin目录下或者C:\Windows\system32目录下。
本文将tcnative-1.dll拷贝到D:\Program Files\Java\jre1.6.0_45\bin目录,重新启动Tomat,正常的话会显示Apache Tomcat Native library和APR版本信息。
信息: Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.1.
关于Apache Tomcat Native library
这是 Apache 为了提升 Tomcat 的性能搞的一套本地化 Socket、Thread、 IO 组件也就是说它有高级 IO 功能,操作系统级别的功能调用,以及本地进程处理等等,这些都能使 Tomcat 更像一个 Web Server(像Apache那样), 而不是只能用来解释JSP,也就是说提升单独的 Tomcat 作为服务器的吞吐性能。