2016-09-18 4 views
2

は、ばねブートアプリケーション/Iアプリケーションを起動するときはserver.portとmanagement.portは以下

spring.application.name=test-service 
server.port=8080 

management.port=8081 
management.context-path=/admin 

spring.cloud.config.uri=http://localhost:8888 
endpoints.refresh.enabled=true 
endpoints.restart.enabled=true 

ためapplication.propertiesで異なっているバネのクラウドクライアントで動作するようにリフレッシュconfig-serverに接続し、期待どおりにプロパティをロードします。私は、設定サーバーのプロパティを変更し、API

curl -X POST http://localhost:8081/admin/refresh 

を使用して、アプリケーションの更新をトリガ

が変更されたプロパティの名前を出力します。私はプロパティでgetを行うと

、私はまだ私は、再起動をトリガーし、それが同じ動作を参照してください。新しいプロパティ値

curl -X POST http://localhost:8081/admin/restart 

をピックアップ古い値

curl -X GET http://localhost:8081/admin/env/{property_name} 

を見ますプロパティ値を変更しようとするとき

curl -X POST http://localhost:8081/admin/env -d property1=123 

プロパティ値を取得しようとすると、私はまだo ldの値

curl -X GET http://localhost:8081/admin/env/property1 

management.portを8080(server.portと同じ)に変更すると、すべて正常に動作します。

この現象は予期されていますか?私には、8080上で動作するサーバと8081上で動作するサーバの2つの異なる環境を変更していることがわかります。

答えて

0

pom.xmlとアプリケーションメイン(エントリ)ファイルを共有してください。ポート。 "/ refresh"呼び出しで変更されたプロパティを取得できる場合は、アプリケーション内でも機能するはずです。 Beanで@RefreshScopeを使用していますか?

注:@RefreshScopeは@Configurationアノテーションでは機能しません。詳細については、https://cloud.spring.io/spring-cloud-config/spring-cloud-config.htmlのドキュメントを参照してください。

0

spring-bootの問題と思われます。

server.portとmanagement.portが異なる場合、EnvironmentEndpointとEnvironmentMVCEndpointに2つの異なる環境が挿入されます。

アプリケーション環境は、更新された値を持っていますが、私は特定のプロパティの値を取得するときには、その環境での正しい値を反映していないEnviromentMVCEndpoint

@GetMapping(value = "/{name:.*}", produces = MediaType.APPLICATION_JSON_VALUE) 
@ResponseBody 
@HypermediaDisabled 
public Object value(@PathVariable String name) { 
    if (!getDelegate().isEnabled()) { 
     // Shouldn't happen - MVC endpoint shouldn't be registered when delegate's 
     // disabled 
     return getDisabledResponse(); 
    } 
    return new NamePatternEnvironmentFilter(this.environment).getResults(name); 
} 

@Override 
public void setEnvironment(Environment environment) { 
    this.environment = environment; 
} 
関連する問題