Tomcat blocked when startup

本文分享了在JAVAWeb环境中遇到的Tomcat启动缓慢且无法访问服务的问题,并提供了两种解决方案:一是通过设置环境变量指向/dev/urandom;二是直接修改JDK配置文件中的随机数源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在进行JAVA Web环境部署时,发现在启动Tomcat<TC>时,非常慢,启动后,进程中存在TC的进程,端口也处于监听状态,但是无法访问对应的服务,开始怀疑是项目问题,后来直接启动解压后的TC,也无法启动,后来查看日志,启动进程block到deploy第一个项目,如图,后台通过更换TC的版本等方法,都无法解决,后来在网上看到关于java.security.SecureRandom的说法

思路1:

加入setenv.sh后,启动正常。<JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom">

思路2:

直接修改JDK中对ramdom的引用:

$JAVA_HOME/jre/lib/security/java.security

->securerandom.source=file:/dev/./urandom

PS:由于对JAVA的了解还很浅,所有定位问题的过程稍长,在相关博客中,是通过Thread dump类似的工具,定位线程lock在java.security.SecureRandom的方法中,合理工具,定位相应的问题。

转载于:https://my.oschina.net/geek4j/blog/797162

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值