public class RabbitListenerEndpointRegistry
extends java.lang.Object
implements org.springframework.beans.factory.DisposableBean, org.springframework.context.SmartLifecycle, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>
MessageListenerContainer
instances for the
registered endpoints. Also manages the
lifecycle of the listener containers, in particular within the lifecycle
of the application context.
Contrary to MessageListenerContainer
s created manually, listener
containers managed by registry are not beans in the application context and
are not candidates for autowiring. Use getListenerContainers()
if
you need to access this registry's listener containers for management purposes.
If you need to access to a specific message listener container, use
getListenerContainer(String)
with the id of the endpoint.
RabbitListenerEndpoint
,
MessageListenerContainer
,
RabbitListenerContainerFactory
Modifier and Type | Field and Description |
---|---|
protected org.apache.commons.logging.Log |
logger |
Constructor and Description |
---|
RabbitListenerEndpointRegistry() |
Modifier and Type | Method and Description |
---|---|
protected MessageListenerContainer |
createListenerContainer(RabbitListenerEndpoint endpoint,
RabbitListenerContainerFactory<?> factory)
Create and start a new
MessageListenerContainer using the specified factory. |
void |
destroy() |
MessageListenerContainer |
getListenerContainer(java.lang.String id)
Return the
MessageListenerContainer with the specified id or
null if no such container exists. |
java.util.Set<java.lang.String> |
getListenerContainerIds()
Return the ids of the managed
MessageListenerContainer instance(s). |
java.util.Collection<MessageListenerContainer> |
getListenerContainers() |
int |
getPhase() |
boolean |
isAutoStartup() |
boolean |
isRunning() |
void |
onApplicationEvent(org.springframework.context.event.ContextRefreshedEvent event) |
void |
registerListenerContainer(RabbitListenerEndpoint endpoint,
RabbitListenerContainerFactory<?> factory)
Create a message listener container for the given
RabbitListenerEndpoint . |
void |
registerListenerContainer(RabbitListenerEndpoint endpoint,
RabbitListenerContainerFactory<?> factory,
boolean startImmediately)
Create a message listener container for the given
RabbitListenerEndpoint . |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext) |
void |
start() |
void |
stop() |
void |
stop(java.lang.Runnable callback) |
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
setApplicationContext
in interface org.springframework.context.ApplicationContextAware
org.springframework.beans.BeansException
public MessageListenerContainer getListenerContainer(java.lang.String id)
MessageListenerContainer
with the specified id or
null
if no such container exists.id
- the id of the containernull
if no container with that id existsRabbitListenerEndpoint.getId()
,
getListenerContainerIds()
public java.util.Set<java.lang.String> getListenerContainerIds()
MessageListenerContainer
instance(s).getListenerContainer(String)
public java.util.Collection<MessageListenerContainer> getListenerContainers()
MessageListenerContainer
instance(s).public void registerListenerContainer(RabbitListenerEndpoint endpoint, RabbitListenerContainerFactory<?> factory)
RabbitListenerEndpoint
.
This create the necessary infrastructure to honor that endpoint with regards to its configuration.
endpoint
- the endpoint to addfactory
- the listener factory to useregisterListenerContainer(RabbitListenerEndpoint, RabbitListenerContainerFactory, boolean)
public void registerListenerContainer(RabbitListenerEndpoint endpoint, RabbitListenerContainerFactory<?> factory, boolean startImmediately)
RabbitListenerEndpoint
.
This create the necessary infrastructure to honor that endpoint with regards to its configuration.
The startImmediately
flag determines if the container should be
started immediately.
endpoint
- the endpoint to add.factory
- the RabbitListenerContainerFactory
to use.startImmediately
- start the container immediately if necessarygetListenerContainers()
,
getListenerContainer(String)
protected MessageListenerContainer createListenerContainer(RabbitListenerEndpoint endpoint, RabbitListenerContainerFactory<?> factory)
MessageListenerContainer
using the specified factory.endpoint
- the endpoint to create a MessageListenerContainer
.factory
- the RabbitListenerContainerFactory
to use.MessageListenerContainer
.public void destroy()
destroy
in interface org.springframework.beans.factory.DisposableBean
public int getPhase()
getPhase
in interface org.springframework.context.Phased
public boolean isAutoStartup()
isAutoStartup
in interface org.springframework.context.SmartLifecycle
public void start()
start
in interface org.springframework.context.Lifecycle
public void stop()
stop
in interface org.springframework.context.Lifecycle
public void stop(java.lang.Runnable callback)
stop
in interface org.springframework.context.SmartLifecycle
public boolean isRunning()
isRunning
in interface org.springframework.context.Lifecycle
public void onApplicationEvent(org.springframework.context.event.ContextRefreshedEvent event)
onApplicationEvent
in interface org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>