我搜索了这个问题。我得到了印象,它在java 8中得到了解决。但突然之间,我开始在我的新VM中使用ubuntu 14.04来解决这个问题。
2015-07-27 14:56:35.324 INFO 11809 --- [localhost-startStop-1] oacutil.SessionIdGeneratorBase:使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花了[167,833]毫秒。
java版本是
java -version java版" 1.8.0_45" Java(TM)SE运行时环境(版本1.8.0_45-b14) Java HotSpot(TM)64位服务器VM(版本25.45-b02,混合模式)
服务器是ubuntu 14.04。
另一件事是,我将这个java进程作为spring boot应用程序运行,它已经嵌入了tomcat运行。
任何想法,可能出错? 我甚至尝试过,
-Djava.security.egd = file:/ dev /./ urandom 选项
答案 0 :(得分:12)
运行
时尝试使用以下命令java -Djava.security.egd = file:/ dev /./ urandom -jar demo.jar
答案 1 :(得分:0)
通过将下面的代码片段粘贴到pom.xml中,尝试用undertow替换嵌入式tomcat:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
它非常适合我。 SecureRandom问题是一个tomcat问题,可以完全用另一个servlet容器替换。