diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/context/named/NamedContextFactory.java b/spring-cloud-context/src/main/java/org/springframework/cloud/context/named/NamedContextFactory.java index 44a76aa0..2053dd88 100644 --- a/spring-cloud-context/src/main/java/org/springframework/cloud/context/named/NamedContextFactory.java +++ b/spring-cloud-context/src/main/java/org/springframework/cloud/context/named/NamedContextFactory.java @@ -2,8 +2,10 @@ package org.springframework.cloud.context.named; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import org.springframework.beans.BeansException; @@ -61,6 +63,10 @@ public abstract class NamedContextFactory getContextNames() { + return new HashSet<>(contexts.keySet()); + } + @Override public void destroy() { Collection values = this.contexts.values(); diff --git a/spring-cloud-context/src/test/java/org/springframework/cloud/context/named/NamedContextFactoryTests.java b/spring-cloud-context/src/test/java/org/springframework/cloud/context/named/NamedContextFactoryTests.java index a02ee26b..7ed010b6 100644 --- a/spring-cloud-context/src/test/java/org/springframework/cloud/context/named/NamedContextFactoryTests.java +++ b/spring-cloud-context/src/test/java/org/springframework/cloud/context/named/NamedContextFactoryTests.java @@ -12,6 +12,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.hasItems; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; import static org.junit.Assert.assertThat; @@ -37,6 +38,8 @@ public class NamedContextFactoryTests { Bar bar = factory.getInstance("bar", Bar.class); assertThat("bar was null", bar, is(notNullValue())); + assertThat("context names not exposed", factory.getContextNames(), hasItems("foo", "bar")); + Bar foobar = factory.getInstance("foo", Bar.class); assertThat("bar was not null", foobar, is(nullValue()));