我正在为 AWS Kinesis 部署带有 spring-cloud-stream 和 binder 的 springboot 应用程序。如果 beanstalk 配置了公共 ip,则该应用程序在部署在 aws elastic beanstalk 上时工作正常。当我们将 beanstalk 设置为私有 ip 时,应用程序会在部署时抛出警告,因为无法从 aws 获取一些元数据。
为什么要尝试获取这些资源?有一些解决方法可以删除此警告吗?
这些是在部署应用程序并且没有在 ec2 上设置公共 ip 时抛出的警告。
com.amazonaws.util.EC2MetadataUtils : Unable to retrieve the requested metadata (/latest/meta-data/public-ipv4). The requested metadata is not found at http://169.254.169.254/latest/meta-data/public-ipv4
com.amazonaws.SdkClientException: The requested metadata is not found at http://169.254.169.254/latest/meta-data/public-ipv4
at com.amazonaws.internal.EC2CredentialsUtils.readResource(EC2CredentialsUtils.java:122)
at com.amazonaws.internal.EC2CredentialsUtils.readResource(EC2CredentialsUtils.java:82)
at com.amazonaws.util.EC2MetadataUtils.getItems(EC2MetadataUtils.java:400)
at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:369)
at com.amazonaws.util.EC2MetadataUtils.getData(EC2MetadataUtils.java:365)
at org.springframework.cloud.aws.core.env.ec2.AmazonEc2InstanceDataPropertySource.getProperty(AmazonEc2InstanceDataPropertySource.java:89)
at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.collectEncryptedProperties(EnvironmentDecryptApplicationInitializer.java:199)
at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.decrypt(EnvironmentDecryptApplicationInitializer.java:166)
at org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer.initialize(EnvironmentDecryptApplicationInitializer.java:96)
at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:649)
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:373)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
at …Run Code Online (Sandbox Code Playgroud) spring-boot amazon-elastic-beanstalk spring-cloud-stream spring-cloud-aws
我正在使用intelliJ上的livereload测试spring-boot-devtools.我有简单的SpringBootApplication工作正常.
当我从maven命令"mvn spring-boot:run"启动应用程序时,一切正常,除了livereload服务器不启动.控制台上没有消息,Chrome扩展显示错误,无法连接到livereload服务器.
如果我启动应用程序(右摩丝按钮/运行Application.java),所有工作正常甚至livereload服务器.消息显示在控制台上,浏览器可以连接到livereload服务器.
从正确的慕斯按钮启动应用程序/运行Application.java
控制台消息
2016-07-13 16:39:47.947 INFO 10440 --- [ restartedMain] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2016-07-13 16:39:48.026 INFO 10440 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2016-07-13 16:39:48.077 INFO 10440 --- [ restartedMain] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2016-07-13 16:39:48.145 INFO 10440 --- [ restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8090 (http)
Run Code Online (Sandbox Code Playgroud)
从mvn命令启动应用程序"mvn spring-boot:run"
Chorme扩展消息:
Could not connect to LiveReload …Run Code Online (Sandbox Code Playgroud)