繁体   English   中英

Spring Boot先失败,然后在Pivotal Cloud Foundry中自动启动

[英]Spring boot rashes first and then start automatically in Pivotal Cloud Foundry

当我按一下我的弹簧靴-1.3.3.RELEASE时,它崩溃了很长时间,终于启动了。 但是最新事件显示崩溃了,但是当前状态始终在运行。

springboot添加了embed-tomcat -8.0.32。

错误:

2017-01-16T16:29:12.670-05:00 [APP/PROC/WEB/0] [OUT] at org.apache.catalina.startup.Tomcat.start(Tomcat.java:345) ~[tomcat-embed-core-8.0.32.jar!/:8.0.32]
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] at java.lang.reflect.Method.invoke(Method.java:498)
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:62)
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] Caused by: org.springframework.context.ApplicationContextException: 
Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:54)
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] Caused by: java.lang.reflect.InvocationTargetException
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] at java.lang.Thread.run(Thread.java:745)
2017-01-16T16:29:12.685-05:00 [APP/PROC/WEB/0] [ERR] ... 1 more
2017-01-16T16:29:12.686-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
2017-01-16T16:29:12.686-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:133)
2017-01-16T16:29:12.687-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
2017-01-16T16:29:12.688-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
2017-01-16T16:29:12.688-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
2017-01-16T16:29:12.688-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
2017-01-16T16:29:12.688-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191)
2017-01-16T16:29:12.688-05:00 [APP/PROC/WEB/0] [ERR] at bosch.cose.na.enterprise.CoseNaEnterpriseApplication.main(CoseNaEnterpriseApplication.java:19)
2017-01-16T16:29:12.688-05:00 [APP/PROC/WEB/0] [ERR] ... 6 more
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:76)
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:160)
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] at org.apache.catalina.startup.Tomcat.start(Tomcat.java:345)
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:168)
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:99)
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] ... 18 more
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130)
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] ... 13 more
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:89)
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:457)
2017-01-16T16:29:12.689-05:00 [APP/PROC/WEB/0] [ERR] Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] ... 22 more
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769)
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]]
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] ... 20 more
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:924)
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] ... 24 more
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] Caused by: org.apache.catalina.LifecycleException: A child container failed during start
2017-01-16T16:29:12.690-05:00 [APP/PROC/WEB/0] [ERR] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
2017-01-16T16:29:12.788-05:00 [APP/PROC/WEB/0] [OUT] Exit status 0
2017-01-16T16:29:12.803-05:00 [CELL/0] [OUT] Exit status 0

如果有人知道原因,请告诉我。

如果需要很长时间才能启动应用程序,PCF将立即显示“已崩溃”状态。

默认情况下,Spring Boot包含tomcat。 您始终可以覆盖它。 也就是说,一个简单的Spring Boot应用程序只需很少的时间即可启动。

当您将LRP(微服务)推送到PCF时,在创建容器并完成过渡过程之后,LRP启动并进入运行状态的默认间隔为60秒。 如果您的应用需要更多时间,则可以使用cf push上的-t选项覆盖这些设置。

更恰当的问题应该是,为什么您的应用程序需要60秒钟以上才能启动? 我建议您尝试在本地运行Spring Boot应用程序,并找出启动时间。 如果您的应用程序耗时超过60秒,我建议您重新设计应用程序中的步骤。

如果要加载任何数据,请按照12因子重新设计。

希望这可以帮助!

您可能会遇到启动时Tomcat阻塞的问题,等待系统上的熵初始化SecureRandom 有关完整说明,请参见Tomcat Wiki 要查看是否正在发生这种情况,请尝试为您的应用配置熵源以使用非阻塞源:

cf set-env <app name> JAVA_OPTS "-Djava.security.egd=file:///dev/urandom"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM