java - Spring-Boot-Admin 服务器无法从 Eureka 注册中心注册客户端
问题描述
我刚刚从 Initializr 创建了一个新的 Spring-Boot-Admin 项目,并按照此处的说明进行操作:http: //codecentric.github.io/spring-boot-admin/2.0.0/
这是我的课:
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableAdminServer
public class ServiceAdminApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceAdminApplication.class, args);
}
}
这是我的属性文件:
eureka.instance.leaseRenewalIntervalInSeconds=10
eureka.instance.health-check-url-path=/actuator/health
eureka.client.registryFetchIntervalSeconds=5
eureka.client.serviceUrl.defaultZone=http://my.eureka.url:8580/eureka/
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=ALWAYS
我有一个有效的 Eureka 注册表,其中注册了许多 Spring-Boot 应用程序。我知道这是可行的,因为他们能够找到彼此并通过 Eureka 注册表进行通信。
当我启动我的新 SBA 应用程序时,我可以看到它在 Eureka 注册表中注册了自己,所以它正在寻找 Eureka。但是,当我打开 SBA UI 时,它是空的,只是说“没有注册的应用程序”。在我的控制台上,我可以一遍又一遍地看到以下堆栈跟踪。
java.io.IOException:已建立的连接被主机中的软件中止,位于 sun.nio.ch.SocketDispatcher.write0(Native Method) ~[na:1.8.0_151] at sun.nio.ch.SocketDispatcher.write (SocketDispatcher.java:51) ~[na:1.8.0_151] 在 sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[na:1.8.0_151] 在 sun.nio.ch.IOUtil.write (IOUtil.java:65) ~[na:1.8.0_151] 在 sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) ~[na:1.8.0_151] 在 org.apache.tomcat.util.net .NioChannel.write(NioChannel.java:134) ~[tomcat-embed-core-8.5.31.jar:8.5.31] at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101) ~[tomcat-embed-core-8.5.31.jar:8.5.31] at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:157) ~[tomcat-embed-core-8.5.31 .jar:8.5。31] 在 org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1276) ~[tomcat-embed-core-8.5.31.jar:8.5.31] 在 org.apache.tomcat。 util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:670) ~[tomcat-embed-core-8.5.31.jar:8.5.31] at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java :607) ~[tomcat-embed-core-8.5.31.jar:8.5.31] at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:597) ~[tomcat-embed-core- 8.5.31.jar:8.5.31] 在 org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.flush(Http11OutputBuffer.java:646) ~[tomcat-embed-core-8.5.31.jar:8.5.31] 在org.apache.coyote.http11.filters.ChunkedOutputFilter.flush(ChunkedOutputFilter.java:169) ~[tomcat-embed-core-8.5.31.jar:8.5.31] 在 org.apache.coyote.http11。Http11OutputBuffer.flush(Http11OutputBuffer.java:252) ~[tomcat-embed-core-8.5.31.jar:8.5.31] at org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1564) ~[tomcat -embed-core-8.5.31.jar:8.5.31] 在 org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:352) ~[tomcat-embed-core-8.5.31.jar:8.5.31]在 org.apache.coyote.Response.action(Response.java:173) ~[tomcat-embed-core-8.5.31.jar:8.5.31] 在 org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer. java:317) ~[tomcat-embed-core-8.5.31.jar:8.5.31] at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:284) ~[tomcat-embed-core-8.5 .31.jar:8.5.31] 在 org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:118) ~[tomcat-embed-core-8.5.31.jar:8.5.31] 在 sun.nio .cs.StreamEncoder。implFlush(StreamEncoder.java:297) ~[na:1.8.0_151] at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) ~[na:1.8.0_151] at java.io.OutputStreamWriter.flush( OutputStreamWriter.java:229) ~[na:1.8.0_151] at org.springframework.util.StreamUtils.copy(StreamUtils.java:121) ~[spring-core-5.0.6.RELEASE.jar:5.0.6.RELEASE ] 在 org.springframework.http.converter.StringHttpMessageConverter.writeInternal(StringHttpMessageConverter.java:103) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] 在 org.springframework.http.converter.StringHttpMessageConverter .writeInternal(StringHttpMessageConverter.java:43) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:224) ~[ spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] 在 org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitterReturnValueHandler$HttpMessageConvertingHandler.sendInternal(ResponseBodyEmitterReturnValueHandler.java:199) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web .servlet.mvc.method.annotation.ResponseBodyEmitterReturnValueHandler$HttpMessageConvertingHandler.send(ResponseBodyEmitterReturnValueHandler.java:189) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web.servlet。 mvc.method.annotation.ResponseBodyEmitter.sendInternal(ResponseBodyEmitter.java:189) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web.servlet.mvc.method.annotation .ResponseBodyEmitter.send(ResponseBodyEmitter.java:183) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web.servlet.mvc.method.annotation。SseEmitter.send(SseEmitter.java:133) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ReactiveTypeHandler$SseEmitterSubscriber.send (ReactiveTypeHandler.java:341) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ReactiveTypeHandler$AbstractEmitterSubscriber.run(ReactiveTypeHandler. java:283) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] 在 java.lang.Thread.run(Thread.java:748) [na:1.8.0_151]ReactiveTypeHandler$AbstractEmitterSubscriber.run(ReactiveTypeHandler.java:283) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] at java.lang.Thread.run(Thread.java:748) [na: 1.8.0_151]ReactiveTypeHandler$AbstractEmitterSubscriber.run(ReactiveTypeHandler.java:283) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE] at java.lang.Thread.run(Thread.java:748) [na: 1.8.0_151]
解决方案
2.0.0 不包含云功能。请使用 2.0.1(目前只有快照可用)
推荐阅读
- git - 直接克隆远程仓库和先分叉远程仓库的区别
- keycloak - KeyCloak 中多个客户端的唯一登录
- machine-learning - 如何将单独创建的编码器和解码器连接在一起?
- firefox-addon - 如何为 Firefox 插件提供类似 Firefox Devtools 检查器的功能?
- xslt - 如何摆脱 XML 注释中的二进制字符?
- r - 在内部将 rscript 编织为 pdf
- c++ - std::byte 可以替换 std::aligned_storage 吗?
- c# - 如何编写具有相同方法和继承的 2 个类?
- python - 在 ibm-cloud 部署中找不到 xmlsec1
- java - 使用 Gson 困难的 Java 反序列化 RouteXL 响应,因为 RouteXL 返回多个对象而不是数组