阿里云由经典网络切换到专有网络后Tomcat的诡异问题

由于阿里云要求所有经典网络的ECS全部切换到专有网络

这几天帮别人做切换操作,其中有一台用于测试的服务器切换后启动Tomcat日志卡在下面这句话上

21-Aug-2018 14:17:48.080 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8200"]
21-Aug-2018 14:17:48.095 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
21-Aug-2018 14:17:48.098 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1556 ms
21-Aug-2018 14:17:48.141 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
21-Aug-2018 14:17:48.142 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.20

开始以为端口冲突 后来找了一圈也没发现有冲突
最神奇的是 同一个Tomcat 同一个JDK 不同项目竟然不一样 不是所有项目都卡在启动
后在Google了一圈发现有人遇到了此问题并给出了解决方案
现做简单记录

  • 找到JDK的$JAVA_HOME/jre/lib/security/java.security
  • 找到securerandom.source=file:/dev/random (我的服务器是securerandom.source=file:/dev/urandom)
  • 修改成securerandom.source=file:/dev/./urandom

原文说的是

oracle 说修改 $JAVA_HOME/jre/lib/security/java.security 
文件,替换securerandom.source=file:/dev/random 为 securerandom.source=file:/dev/urandom。
对所有使用JVM的应用生效。
(这个永久的方法,这里面有个问题,就是设置时候实际应该设置为securerandom.source=file:/dev/./urandom,否则不生效)

原文地址:https://blog.csdn.net/njchenyi/article/details/46641141

你可能感兴趣的:(阿里云由经典网络切换到专有网络后Tomcat的诡异问题)