前几天新弄了个服务器,jdk8,tomcat8。启动tomcat时发现非常慢,而本地启动时会打印
{dataSource-1} inited
这行日志,但正式线迟迟不出这行日志,以为是链接数据库慢,查了半天也没解决。后来又仔细分析日志,发现有个WARNING
WARNING [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [150,824] milliseconds.
看来这才是元凶。
百度上有人说在tomcat里修改
在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom
但一点用也没有,然后试了另外一种,在jre中修改
$JAVA_PATH/jre/lib/security/java.security
把
securerandom.source=file:/dev/random
替换为
securerandom.source=file:/dev/urandom
也就是加了个u。
去jdk7里面查看,发现7里面就是urandom,不知8是想搞啥