我已经开发了一个Spring Boot应用程序,该应用程序连接到在本地运行的Postgresql实例。
现在,我将应用程序部署到Cloud Foundry本地bosh lite安装中。我为PostgreSQL创建了一个用户提供的服务,并将其绑定到我的应用程序。
该应用程序到目前为止运行良好。然后,我想将此应用程序作为服务代理。所以我再次使用了Spring Boot Cloud Foundry Service Broker。并实现了与示例mongodb spring boot服务代理相同的代码。 https://github.com/spring-cloud- samples/cloudfoundry-service-broker
但是现在当我尝试启动该应用程序时。它失败,并显示以下错误。
2017-06-20T17:16:19.82+0530 [DEA/0] OUT Starting app instance (index 0) with guid 65b656e1-fbe4-4a7f-bc34-6c410dbb3a4e 2017-06-20T17:16:23.07+0530 [DEA/0] ERR Instance (index 0) failed to start accepting connections 2017-06-20T17:16:23.09+0530 [API/0] OUT App instance exited with guid 65b656e1-fbe4-4a7f-bc34-6c410dbb3a4e payload: {"cc_partition"=>"default", "droplet"=>"65b656e1-fbe4-4a7f-bc34-6c410dbb3a4e", "version"=>"432ef489-14e3-44d7-bab8-bdd64bc8d9d3", "instance"=>"9bf4bd1c3a8741508a6b33da9ba76400", "index"=>0, "reason"=>"CRASHED", "exit_status"=>127, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1497959183} 2017-06-20T17:16:23.09+0530 [API/0] OUT App instance exited with guid 65b656e1-fbe4-4a7f-bc34-6c410dbb3a4e payload: {"cc_partition"=>"default", "droplet"=>"65b656e1-fbe4-4a7f-bc34-6c410dbb3a4e", "version"=>"432ef489-14e3-44d7-bab8-bdd64bc8d9d3", "instance"=>"9bf4bd1c3a8741508a6b33da9ba76400", "index"=>0, "reason"=>"CRASHED", "exit_status"=>127, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1497959183}
我在网上搜索,似乎错误与端口和端口不可访问有关。 https://github.com/cloudfoundry/cf- release/issues/649
但我尚未为我的应用程序定义任何端口,我希望CF为我的应用程序自动分配一个端口
最好的问候,索拉夫
我已删除该应用程序,然后再次部署。它开始工作了。
我知道这并不能说明根本原因。但是可能是Spring Boot / cloud Foundry框架的开发人员可以说出根本原因。
我想强调一点。
该应用程序是作为Spring Boot Cloud Foundry Service Broker开发的。最初,当我部署该应用程序时,它会向我询问用户名/密码。我以前不知道这一点。可能输入了错误的用户名和密码,然后按“取消”。之后,应用程序将抛出以上错误。
但是必须注意,Spring Boot Cloud Foundry Service Broker应用程序已经内置了Spring Boot身份验证,其中已生成用户名为“ user”的密码。
在此处查看更多详细信息https://github.com/spring-cloud/spring-cloud-cloudfoundry-service- broker#security
我不知道这是不是原因。但是删除和重新部署与我合作。