提交 1bc41bdf 编写于 作者: S Stephane Nicoll

Expose JMS message listener container ids

Issue: SPR-13633
上级 cca037a7
......@@ -19,6 +19,7 @@ package org.springframework.jms.config;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
......@@ -68,12 +69,21 @@ public class JmsListenerEndpointRegistry implements DisposableBean, SmartLifecyc
* @param id the id of the container
* @return the container or {@code null} if no container with that id exists
* @see JmsListenerEndpoint#getId()
* @see #getListenerContainerIds()
*/
public MessageListenerContainer getListenerContainer(String id) {
Assert.notNull(id, "Container identifier must not be null");
return this.listenerContainers.get(id);
}
/**
* Return the ids of the managed {@link MessageListenerContainer} instance(s).
* @see #getListenerContainer(String)
*/
public Set<String> getListenerContainerIds() {
return Collections.unmodifiableSet(this.listenerContainers.keySet());
}
/**
* Return the managed {@link MessageListenerContainer} instance(s).
*/
......
......@@ -169,6 +169,8 @@ public abstract class AbstractJmsAnnotationDrivenTests {
JmsListenerEndpointRegistry customRegistry =
context.getBean("customRegistry", JmsListenerEndpointRegistry.class);
assertEquals("Wrong number of containers in the registry", 2,
customRegistry.getListenerContainerIds().size());
assertEquals("Wrong number of containers in the registry", 2,
customRegistry.getListenerContainers().size());
assertNotNull("Container with custom id on the annotation should be found",
......
/*
* Copyright 2002-2014 the original author or authors.
* Copyright 2002-2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -76,6 +76,7 @@ public class JmsListenerEndpointRegistrarTests {
registrar.afterPropertiesSet();
assertNotNull("Container not created", registry.getListenerContainer("some id"));
assertEquals(1, registry.getListenerContainers().size());
assertEquals("some id", registry.getListenerContainerIds().iterator().next());
}
@Test
......@@ -98,6 +99,7 @@ public class JmsListenerEndpointRegistrarTests {
registrar.afterPropertiesSet();
assertNotNull("Container not created", registry.getListenerContainer("myEndpoint"));
assertEquals(1, registry.getListenerContainers().size());
assertEquals("myEndpoint", registry.getListenerContainerIds().iterator().next());
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册