關(guān)于Apache Portable Runtime and Tomcat- -
??????????????????????????????????????
關(guān)于Apache Portable Runtime and Tomcat
在從Tomcat 5.0.28轉(zhuǎn)向5.5.X時(shí),在啟動(dòng)時(shí)發(fā)現(xiàn)出現(xiàn)如下信息
[org.apache.catalina.core.AprLifecycleListener]-[INFO] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: (...你的系統(tǒng)環(huán)境PATH路徑...)
在停止時(shí)發(fā)現(xiàn)出現(xiàn)如下信息
[org.apache.catalina.core.AprLifecycleListener]-[INFO] Failed shutdown of Apache Portable Runtime
于是,想消除這個(gè)問題,通過查閱 http://tomcat.apache.org/tomcat-5.5-doc/apr.html
Tomcat can use the Apache Portable Runtime to provide superior scalability, performance, and better integration with native server technologies. The Apache Portable Runtime is a highly portable library that is at the heart of Apache HTTP Server 2.x. APR has many uses, including access to advanced IO functionality (such as sendfile, epoll and OpenSSL), OS level functionality (random number generation, system status, etc), and native process handling (shared memory, NT pipes and Unix sockets).
These features allows making Tomcat a general purpose webserver, will enable much better integration with other native web technologies, and overall make Java much more viable as a full fledged webserver platform rather than simply a backend focused technology.
發(fā)現(xiàn) Tomcat 可以用 Apache Portable Runtime 來提供更強(qiáng)性能,提升Web靜態(tài)頁(yè)面的處理能力,不再需要專門的Web Server來處理靜態(tài)頁(yè)面了。
但是APR的支持需要安裝三個(gè)本地組件
APR support requires three main native components to be installed:
1、APR library
2、JNI wrappers for APR used by Tomcat (libtcnative)
3、OpenSSL libraries
解決:Windows下的安裝配置與使用
1、先去 http://tomcat.heanet.ie/native/ 下載編譯好的 tcnative-1.dll 文件,也可以下載tomcat-native.zip自己進(jìn)行編譯
2、修改一下 catalina.bat,加上
set CATALINA_OPTS="-Djava.library.path=../../APR/lib"
因?yàn)槲野堰@個(gè)DLL放在與Tomcat目錄同級(jí)的APR/lib目錄下,所以采用了相對(duì)路徑。或者把dll加到你的系統(tǒng)變量PATH里之類的,最簡(jiǎn)單的方法應(yīng)當(dāng)就是把tcnative-1.dll文件放在Tomcat的bin目錄下:)
這樣設(shè)置后,啟動(dòng)可以看到信息如下:
[org.apache.coyote.http11.Http11AprProtocol]-[INFO] Initializing Coyote HTTP/1.1 on http-9091
在停止時(shí)發(fā)現(xiàn)出現(xiàn)如下信息
[org.apache.coyote.http11.Http11AprProtocol]-[INFO] Pausing Coyote HTTP/1.1 on http-9091
......
[org.apache.coyote.http11.Http11AprProtocol]-[INFO] Stopping Coyote HTTP/1.1 on http-9091
這樣就配置成功了。性能方面目前沒有做詳細(xì)的測(cè)試。
======================================================================
相關(guān)的文檔參見
http://tomcat.apache.org/tomcat-5.5-doc/apr.html
相關(guān)的性能測(cè)試結(jié)果參見
http://www.javaworld.com.tw/jute/post/view?bid=9&id=139958&sty=3&age=0