最近在雲服務器上部署tomcat的時候,執行 startup.sh老是卡住了。 開始以為是日志配的不對,因為在對象中引入的是slf4,不是apache的log4j,后面把所有引入的地方都修改為Apache的日志。 終於查看控制台的時候有了新發現。
從圖中可以看到 SessionIdGeneratorBase創建一個實例時花了 349508毫秒。 通過搜這個class,才知道它是一個隨機數策略類。 最終的解決辦法是在catalina.sh中添加一行代碼
-Djava.security.egd=file:/dev/./urandom
可惜,不懂shell,不知道加在哪里 。。。。。。。。。
只好修改java的配置文件
進入到配置文件 java.security 所在目錄
做如下修改
最后,重啟tomcat,服務不再卡住在SessionIdGeneratorBase。over