2016-03-18 51 views
1

我試圖在運行CentOS 7的GCE實例上啓動Spring引導應用程序,但似乎在完成Web應用程序初始化後但在顯示最終「服務器啓動成功消息」之前掛起。登錄到控制檯的最後一條消息是:爲什麼Spring Boot嵌入式tomcat無法在Google Compute Engine上啓動?

2016-03-18 07:34:04.802 INFO 1175 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean  : Mapping servlet : 'dispatcherServlet' to [/] 

我懷疑它是與this issue報道GCE問題跟蹤器。

相同的應用程序正在運行Amazon AMI的Amazon EC2實例上沒有任何問題。

回答

0

原來tomcat的被困在創作SecureRandom例如

[ost-startStop-1] o.a.c.util.SessionIdGeneratorBase  : Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [568,680] milliseconds.          

的問題是Tomcat文檔中討論的關於Entropy Source

射出彈簧啓動應用程序固定的問題,當添加-Djava.security.egd=file:/dev/./urandom JVM的參數。

爲什麼在CentOS上發生這種情況,但不是亞馬遜Linux? 引述BEA Logic SIP Server documentation

在Sun的JVM用於隨機數生成的庫依靠在/ dev /隨機默認情況下,UNIX平臺。

..在某些操作系統中的/ dev /隨機一定量的「噪聲」的等待到主機上返回結果前產生。

+0

'-Djava.security.egd = file:/ dev /./ urandom'我應該在哪裏添加這段代碼?它是否進入Application.Properties? – forguta

+1

@forguta當你從命令行調用'java'時,你可以提供這個參數,例如:'java -Djava.security.egd = file:/ dev /./ urandom -jar my-springboot-app.jar' –

+0

謝謝:)它的工作 – forguta

相關問題