Tomcat問題彙總

Tomcat遇到的一些問題和解決方法:java

1. Tomcat慢啓動問題
描述:
    
Tomcat啓動有時耗時十幾秒甚至達到一分多鐘。緣由是Tomcat的
org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom類產生安全隨機類SecureRandom的實例做爲會話ID,隨機數產生器會收集來自設備驅動器和其它源的環境噪聲數據,並放入熵池中。產生器會評估熵池中的噪聲數據的數量。當熵池爲空時,這個噪聲數據的收集是比較花時間的。這就意味着,Tomcat在生產環境中使用熵池時,會被阻塞較長的時間。
解決方法:
   
1)在Tomcat環境中解決。能夠經過配置JRE使用非阻塞的Entropy Source。在catalina.sh中加入這麼一行:-Djava.security.egd=file:/dev/./urandom 便可。
    2)在JVM環境中解決。打開$JAVA_PATH/jre/lib/security/java.security這個文件,找到下面的內容:
securerandom.source=file:/dev/urandom 替換成 securerandom.source=file:/dev/./urandom

2. NullPointerException和400錯誤
描述
    Tomcat運行一段時間後,會出現org.apache.coyote.http11.Http11Processor.service Error processing request java.lang.NullPointerException錯誤,localhost_access log中會出現400報錯。緣由有待研究。
解決方法:
   
這個問題Tomcat官方說8.0已經修復了,可是我更新到8.5偶爾還會出現,8.0以前的作法是在server.xml中的Connector上添加useSendfile="false"便可,一樣的作法也解決了我這個問題。apache

相關文章
相關標籤/搜索