Tomcat 启动卡在 Root WebApplicationContext: initialization completed in

tomcat 启动一直卡在

Root WebApplicationContext: initialization completed in

重启了很多次,更换jdk版本,tomcat版本都不行。

tomcat所在的JVM进程已经被启动了所以可以排除是JVM退出引起的问题。那么问题真的就是JVM因为某种原因被阻塞了。

https://blog.csdn.net/wwdwjm/article/details/77840113

主要是因为阿里云的熵池太小 熵池的大小是根据键盘 鼠标之类的噪音产生的数 然后/dev/random会根据熵池来生成随机数 而生成需要有足够的熵池里的噪音数 如果没有达到的话就会一直阻塞 tomcat启动的时候为了生成session id就会获取这个随机数来生成密匙 所以才出现上面的情况 一直阻塞在等待熵池里的数满足生成随机数的大小 3分钟以后熵池里的数够大了才开始部署

yum install -y rng-tools
systemctl start rngd
cp /usr/lib/systemd/system/rngd.service /etc/systemd/system
vi /etc/systemd/system/rngd.service

ExecStart=/sbin/rngd -f -r /dev/urandom

WARNING: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [348,853] milliseconds

后来查了一下,发现这个问题抱怨的还是蛮多的,以至于tomcat的wiki里面还单独列出来作为加速启动的一个方面:

Tomcat 7+ heavily relies on SecureRandom class to provide random values for its session ids and in other places. Depending on your JRE it can cause delays during startup if entropy source that is used to initialize SecureRandom is short of entropy. You will see warning in the logs when this happens, e.g.:

There is a way to configure JRE to use a non-blocking entropy source by setting the following system property: -Djava.security.egd=file:/dev/./urandom

尝试使用-Djava.security.egd=file:/dev/./urandom启动了一下,果然快了很多。

https://wiki.apache.org/tomcat/HowTo/FasterStartUp

原文地址:https://www.cnblogs.com/fsckzy/p/11504322.html

时间: 2024-10-21 18:24:42

Tomcat 启动卡在 Root WebApplicationContext: initialization completed in的相关文章

SpringMVC Root WebApplicationContext启动流程

传统的SpringMVC项目中,需要在web.xml中配置Contextlistener.ContextLoaderListener是负责引导启动和关闭Spring的Root上下文的监听器.主要将处理委托给ContextLoader和ContextCleanupListener. 类的继承关系. ContextLoaderListener实现了ServletContextListener接口.该接口主要定义了两个行为:监听上下文创建(contextInitialized)和监听上下文销毁(con

tomcat启动报错:java.net.BindException: Permission denied <null>:80

1,启动报错显示 [org.springframework.web.servlet.DispatcherServlet]FrameworkServlet 'springMvc': initialization completed in 382 ms Jun 01, 2015 6:39:06 PM org.apache.coyote.http11.Http11Protocol start SEVERE: Error starting endpoint java.net.BindException:

tomcat 启动超级慢

原地址 https://www.cnblogs.com/devilwind/p/6902037.html 今天在新环境里部署tomcat, 刚开始启动很快,关闭之后再启动,却发现启动日志打印到 00:25:14.144 [localhost-startStop-1] INFO  o.s.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 6287 ms 一直hold着,tomcat

Tomcat 启动过程

2016-5-22 20:20:13 org.apache.catalina.startup.Catalina load信息: Initialization processed in 342 ms--------Tomcat导入Spring配置文件2016-5-22 20:20:14 org.apache.catalina.core.ApplicationContext log信息: Initializing Spring root WebApplicationContext2016-5-22

Spring MVC源码——Root WebApplicationContext

目录 Spring MVC源码--Root WebApplicationContext 上下文层次结构 Root WebApplicationContext 初始化和销毁 ContextLoaderListener ContextLoader Servlet 3.0+ 中初始化 参考资料 Spring MVC源码--Root WebApplicationContext 打算开始读一些框架的源码,先拿 Spring MVC 练练手,欢迎点击这里访问我的源码注释. Spring MVC 的文档一开始

关于Tomcat启动时,长时间停在Initializing Spring root webApplicationContext处的原因

1.大家肯定经常会遇到这样的问题,以前启动tomcat都不会出问题.现在一起动就会卡到Initializing Spring root webApplicationContext处,tomcat会报连接超时错误. 然后,发现改了timeout,之后还是不行,这你就应该看看是不是数据库连接出了问题.

tomcat启动停止在 Initializing Spring root WebApplicationContext,就不运行了

启动项目的时候,项目一直运行到 Initializing Spring root WebApplicationContext,就停止不运行了,也不报错,开始真的很苦恼,后来把log日志的模式改为 debugg模式,就可以看到报错的原因, 在网上百度了一些信息,大多看不懂,好多是大数据的错误,后来自己琢磨,发现是zookeeper注册中心没有开启,汗(⊙﹏⊙)b,开启zookeeper,就可以完美运行啦. tomcat启动停止,卡死,大概是连接不上一些服务,比如数据库啊,服务器啊,什么的,

Tomcat启动报错[org.apache.struts2.dispatcher.Dispatcher]Dispatcher initialization failed

Tomcat启动报错: [org.apache.struts2.dispatcher.Dispatcher]Dispatcher initialization failed Unable to load configuration. - bean - jar:file:/E:/SoftwareDevelopment/Software/Eclipse4.3/eclipse-jee-kepler-SR1-win32-x86_64/Workspace/.metadata/.plugins/org.ec

Tomcat启动时卡在“INFO: Deploying web application directory ”

今天在linux上的tomcat部署一个网站时,在刚启动tomcat的时候提示启动成功,然后也能访问成功. 可是第二次启动时虽然没有报错,但无法访问tomcat,查看了catalina.out日志,发现tomcat卡在了INFO: Deploying web application directory ...... 后来看了一篇博文解决了问题.在 $JAVA_HOME/jre/lib/security/java.security内,将securerandom.source的内容改为file:/d