Tomcat启动项目慢
原因是多方面,我遇到的情况有三种可能导致tomcat启动项目变慢
情况一:tomcat在启动过程中会检查jar,当有大量的jar被检测的时候,启动需要很长时间
解决办法:将catalina.properties文件中的这一行
tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\
修改为 tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar
情况二:项目确定成功,但是耗时特别长
时间长到你怀疑人生,我的项目时springboot的,springmvc项目的话意思也一样,我的springboot项目卡在了这一行
起初我以为是我的项目哪有问题,排查了半天,排查过程中,大概有个十分钟吧,突然就继续往下启动了
这时我才意识到其实并不是代码的问题,一定是某些设置的问题,在没有优化之前,我的启动时间长的可怕
是这个东西在作怪,查询一番资料后发现是“熵随机”造成的org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom类产生安全随机类SecureRandom的实例作为会话ID
解决方案
方案一: 在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/urandom 即可
方案二:在JVM环境中解决
在你的jdk的安装路径中的jre下 jre/lib/security/java.security这个文件
securerandom.source=file:/dev/random 修改为
securerandom.source=file:/dev/urandom