从Config Server获取信息时出错

时间:2014-12-02 01:34:23

标签: spring-cloud

我正在配置Eureka客户端应用程序,但始终注册的端口结果为80。

服务器配置是从启用了自动发现的Eureka获得的,当禁用自动发现时,端口已正确注册。

应用程序的端口仅从命令行(--server.port = 8080)分配,并在所有其他属性文件(app.yaml,boostrap.yaml和配置服务器git repo)中删除

我注意到在这段代码中:

EurekaClientConfiguration.java

    if (port != 0 && instanceConfig.getNonSecurePort() == 0) {
        instanceConfig.setNonSecurePort(port);
    }

instanceConfig.getNonSecurePort()永远不会为0,因此,nonSecurePort属性永远不会更改。

我必须在其他地方注册port属性吗?

编辑添加一些细节:

我的意思是我的bootstrap.yml有以下几行:

cloud:config:discovery:enabled: true

yml配置位于github存储库中,并且没有分配端口

应用程序正在端口8082中运行app param --server.port = 8082但是当它在Eureka中注册时,端口总是80而不是8082

<port enabled="true">8082</port>
<securePort enabled="false">443</securePort>

这导致每个基于功能区的调用都没有获得正确的URL。

我注意到在init

之后,此处理程序事件中的端口设置正确

EurekaClientConfiguration.java:

public void onApplicationEvent(EmbeddedServletContainerInitializedEvent event) {
   ...
   EurekaClientConfiguration.this.port = event.getEmbeddedServletContainer().getPort();

但是标志“正在运行”现在处于活动状态并且没有任何效果

非常感谢你的帮助

0 个答案:

没有答案