From 8fa9b715798f3de3b040a79dae12b105d6a6943d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Darek=20Kaczy=C5=84ski?= Date: Thu, 7 May 2015 00:02:03 +0200 Subject: [PATCH] Corrected example of providing Turbine cluster name via instance metadata map. --- docs/src/main/asciidoc/spring-cloud-netflix.adoc | 2 +- .../netflix/turbine/EurekaInstanceDiscoveryTest.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/src/main/asciidoc/spring-cloud-netflix.adoc b/docs/src/main/asciidoc/spring-cloud-netflix.adoc index cfbd9e43e..b10e8ec3b 100644 --- a/docs/src/main/asciidoc/spring-cloud-netflix.adoc +++ b/docs/src/main/asciidoc/spring-cloud-netflix.adoc @@ -517,7 +517,7 @@ turbine: aggregator: clusterConfig: SYSTEM,USER appConfig: customers,stores,ui,admin - clusterNameExpression: metadata.cluster + clusterNameExpression: metadata['cluster'] ---- In this case, the cluster name from 4 services is pulled from their metadata map, and is expected to have values that include "SYSTEM" and "USER". diff --git a/spring-cloud-netflix-turbine/src/test/java/org/springframework/cloud/netflix/turbine/EurekaInstanceDiscoveryTest.java b/spring-cloud-netflix-turbine/src/test/java/org/springframework/cloud/netflix/turbine/EurekaInstanceDiscoveryTest.java index f5f3d066d..b4b46033e 100644 --- a/spring-cloud-netflix-turbine/src/test/java/org/springframework/cloud/netflix/turbine/EurekaInstanceDiscoveryTest.java +++ b/spring-cloud-netflix-turbine/src/test/java/org/springframework/cloud/netflix/turbine/EurekaInstanceDiscoveryTest.java @@ -50,4 +50,16 @@ public class EurekaInstanceDiscoveryTest { assertEquals("clusterName is wrong", asgName, clusterName); } + @Test + public void testGetClusterNameInstanceMetadataMapExpression() { + TurbineProperties turbineProperties = new TurbineProperties(); + turbineProperties.setClusterNameExpression("metadata['cluster']"); + EurekaInstanceDiscovery discovery = new EurekaInstanceDiscovery(turbineProperties); + String metadataProperty = "myCluster"; + InstanceInfo instanceInfo = InstanceInfo.Builder.newBuilder() + .setAppName("testApp").add("cluster", metadataProperty).build(); + String clusterName = discovery.getClusterName(instanceInfo); + assertEquals("clusterName is wrong", metadataProperty, clusterName); + } + }