tomcat启动慢的问题处理方法

项目启动的时候经常出现需要启动很久的情况,但是排查初始化代码并没有需要占用很多时间,网上查了些资料

如果用Tomcat /dev/random作为关键字基本上就能够回答我们的疑惑了。Tocmat的Session ID是通过SHA1算法计算得到的,计算Session ID的时候必须有一个密钥。为了提高安全性Tomcat在启动的时候回通过随机生成一个密钥。 在 http://wiki.apache.org/tomcat/HowTo/FasterStartUp (Entropy Source部分)有一段解释。stackoverflow上面也有一大批这方面的说明,所以这里就不再多做介绍。 明白了问题的原因解决起来就非常简单了——替换/dev/random为/dev/unrandom,用伪随机函数生成器(/dev/./urandom)来替代随机函数生成器(/dev/random)

1.首先我们找到安装的jdk环境目录,打开$JAVA_HOME/jre/lib/security/java.security这个文件,我这里以jdk1.8为例

 

tomcat启动慢的问题处理方法_第1张图片

然后打开java.security文件找到如下

tomcat启动慢的问题处理方法_第2张图片

然后把securerandom.source=file:/dev/urandom
替换成
securerandom.source=file:/dev/./urandom

替换后的结果

tomcat启动慢的问题处理方法_第3张图片

 

你可能感兴趣的:(Java)