You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/03/22 10:30:00 UTC

[incubator-servicecomb-java-chassis] branch master updated: get configuration interface to add header:x-environment

This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new bc4af79  get configuration interface to add header:x-environment
bc4af79 is described below

commit bc4af7990faad829fbfd8de61c304769253e1b77
Author: weichao666 <we...@huawei.com>
AuthorDate: Thu Mar 22 17:26:31 2018 +0800

    get configuration interface to add header:x-environment
---
 .../org/apache/servicecomb/config/client/ConfigCenterClient.java  | 4 ++++
 .../org/apache/servicecomb/config/client/ConfigCenterConfig.java  | 7 +++++++
 .../apache/servicecomb/config/client/TestConfigCenterConfig.java  | 8 ++++++++
 dynamic-config/config-cc/src/test/resources/microservice.yaml     | 1 +
 4 files changed, 20 insertions(+)

diff --git a/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterClient.java b/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterClient.java
index 0268491..4407c14 100644
--- a/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterClient.java
+++ b/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterClient.java
@@ -100,6 +100,8 @@ public class ConfigCenterClient {
 
   private String serviceName = CONFIG_CENTER_CONFIG.getServiceName();
 
+  private String environment = CONFIG_CENTER_CONFIG.getEnvironment();
+
   private MemberDiscovery memberDiscovery = new MemberDiscovery(CONFIG_CENTER_CONFIG.getServerUri());
 
   private ConfigCenterConfigurationSourceImpl.UpdateHandler updateHandler;
@@ -240,6 +242,7 @@ public class ConfigCenterClient {
       if (ConfigCenterConfig.INSTANCE.getToken() != null) {
         headers.put("X-Auth-Token", ConfigCenterConfig.INSTANCE.getToken());
       }
+      headers.put("x-environment", environment);
 
       HttpClientWithContext vertxHttpClient = clientMgr.findThreadBindClientPool();
       vertxHttpClient.runOnContext(client -> {
@@ -341,6 +344,7 @@ public class ConfigCenterClient {
         if (ConfigCenterConfig.INSTANCE.getToken() != null) {
           headers.put("X-Auth-Token", ConfigCenterConfig.INSTANCE.getToken());
         }
+        headers.put("x-environment", environment);
         request.headers().addAll(headers);
         authHeaderProviders.forEach(provider -> request.headers()
             .addAll(provider.getSignAuthHeaders(createSignRequest(request.method().toString(),
diff --git a/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterConfig.java b/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterConfig.java
index 70d4971..c38f252 100644
--- a/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterConfig.java
+++ b/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterConfig.java
@@ -17,6 +17,9 @@
 
 package org.apache.servicecomb.config.client;
 
+import static org.apache.servicecomb.foundation.common.base.ServiceCombConstants.DEFAULT_SERVICECOMB_ENV;
+import static org.apache.servicecomb.foundation.common.base.ServiceCombConstants.SERVICECOMB_ENV;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -184,4 +187,8 @@ public final class ConfigCenterConfig {
   public int getConnectionTimeout() {
     return finalConfig.getInt("cse.config.client.timeout.connection", DEFAULT_TIMEOUT_IN_MS);
   }
+
+  public String getEnvironment() {
+    return finalConfig.getString(SERVICECOMB_ENV, DEFAULT_SERVICECOMB_ENV);
+  }
 }
diff --git a/dynamic-config/config-cc/src/test/java/org/apache/servicecomb/config/client/TestConfigCenterConfig.java b/dynamic-config/config-cc/src/test/java/org/apache/servicecomb/config/client/TestConfigCenterConfig.java
index 74237d1..1624f5a 100644
--- a/dynamic-config/config-cc/src/test/java/org/apache/servicecomb/config/client/TestConfigCenterConfig.java
+++ b/dynamic-config/config-cc/src/test/java/org/apache/servicecomb/config/client/TestConfigCenterConfig.java
@@ -36,4 +36,12 @@ public class TestConfigCenterConfig {
     Assert.assertEquals("https://172.16.8.7:30103", servers.get(0));
     Assert.assertEquals("https://172.16.8.7:30103", servers.get(1));
   }
+
+  @Test
+  public void getEnvironment() {
+    Assert.assertEquals("testing", ConfigCenterConfig.INSTANCE.getEnvironment());
+    System.setProperty("SERVICECOMB_ENV", "development");
+    ConfigCenterConfig.setConcurrentCompositeConfiguration(ConfigUtil.createLocalConfig());
+    Assert.assertEquals("development", ConfigCenterConfig.INSTANCE.getEnvironment());
+  }
 }
diff --git a/dynamic-config/config-cc/src/test/resources/microservice.yaml b/dynamic-config/config-cc/src/test/resources/microservice.yaml
index 76360cd..445cfa6 100644
--- a/dynamic-config/config-cc/src/test/resources/microservice.yaml
+++ b/dynamic-config/config-cc/src/test/resources/microservice.yaml
@@ -55,3 +55,4 @@ cse:
       autodiscovery: true
 service_description:
   name: testDemo
+  environment: testing

-- 
To stop receiving notification emails like this one, please contact
liubao@apache.org.