org.springframework.integration.amqp.channel
Class PublishSubscribeAmqpChannel

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.channel.AbstractMessageChannel
          extended by org.springframework.integration.amqp.channel.AbstractAmqpChannel
              extended by org.springframework.integration.amqp.channel.PublishSubscribeAmqpChannel
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle, org.springframework.integration.context.NamedComponent, org.springframework.integration.core.SubscribableChannel, org.springframework.integration.history.TrackableComponent, org.springframework.integration.MessageChannel

public class PublishSubscribeAmqpChannel
extends AbstractAmqpChannel

Since:
2.1

Nested Class Summary
 
Nested classes/interfaces inherited from class org.springframework.integration.channel.AbstractMessageChannel
org.springframework.integration.channel.AbstractMessageChannel.ChannelInterceptorList
 
Field Summary
 
Fields inherited from class org.springframework.integration.channel.AbstractMessageChannel
logger
 
Constructor Summary
PublishSubscribeAmqpChannel(java.lang.String channelName, org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer container, org.springframework.amqp.core.AmqpTemplate amqpTemplate)
           
 
Method Summary
protected  org.springframework.integration.dispatcher.MessageDispatcher createDispatcher()
           
 void destroy()
           
protected  java.lang.String getExchangeName()
          Subclasses may override this method to return an Exchange name.
 int getPhase()
           
protected  org.springframework.amqp.core.Queue initializeQueue(org.springframework.amqp.core.AmqpAdmin admin, java.lang.String channelName)
           
 boolean isAutoStartup()
           
 boolean isRunning()
           
 void onInit()
           
 void setExchange(org.springframework.amqp.core.FanoutExchange exchange)
          Configure the FanoutExchange instance.
 void setMaxSubscribers(int maxSubscribers)
          Specify the maximum number of subscribers supported by the channel's dispatcher (if it is an AbstractDispatcher).
 void start()
           
 void stop()
           
 void stop(java.lang.Runnable callback)
           
 boolean subscribe(org.springframework.integration.core.MessageHandler handler)
           
 boolean unsubscribe(org.springframework.integration.core.MessageHandler handler)
           
 
Methods inherited from class org.springframework.integration.amqp.channel.AbstractAmqpChannel
doSend, getRoutingKey
 
Methods inherited from class org.springframework.integration.channel.AbstractMessageChannel
addInterceptor, getComponentType, getInterceptors, send, send, setConversionService, setDatatypes, setInterceptors, setShouldTrack
 
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setTaskScheduler, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.integration.MessageChannel
send, send
 
Methods inherited from interface org.springframework.integration.context.NamedComponent
getComponentName
 

Constructor Detail

PublishSubscribeAmqpChannel

public PublishSubscribeAmqpChannel(java.lang.String channelName,
                                   org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer container,
                                   org.springframework.amqp.core.AmqpTemplate amqpTemplate)
Method Detail

setExchange

public void setExchange(org.springframework.amqp.core.FanoutExchange exchange)
Configure the FanoutExchange instance. If this is not provided, then a FanoutExchange will be declared implicitly, and its name will be the same as the channel name prefixed by "si.fanout.". In either case, an effectively anonymous Queue will be declared automatically.


initializeQueue

protected org.springframework.amqp.core.Queue initializeQueue(org.springframework.amqp.core.AmqpAdmin admin,
                                                              java.lang.String channelName)

createDispatcher

protected org.springframework.integration.dispatcher.MessageDispatcher createDispatcher()

getExchangeName

protected java.lang.String getExchangeName()
Description copied from class: AbstractAmqpChannel
Subclasses may override this method to return an Exchange name. By default, Messages will be sent to the no-name Direct Exchange.

Overrides:
getExchangeName in class AbstractAmqpChannel

setMaxSubscribers

public void setMaxSubscribers(int maxSubscribers)
Specify the maximum number of subscribers supported by the channel's dispatcher (if it is an AbstractDispatcher).

Parameters:
maxSubscribers -

subscribe

public boolean subscribe(org.springframework.integration.core.MessageHandler handler)
Specified by:
subscribe in interface org.springframework.integration.core.SubscribableChannel

unsubscribe

public boolean unsubscribe(org.springframework.integration.core.MessageHandler handler)
Specified by:
unsubscribe in interface org.springframework.integration.core.SubscribableChannel

onInit

public void onInit()
            throws java.lang.Exception
Overrides:
onInit in class org.springframework.integration.context.IntegrationObjectSupport
Throws:
java.lang.Exception

isAutoStartup

public boolean isAutoStartup()
Specified by:
isAutoStartup in interface org.springframework.context.SmartLifecycle

getPhase

public int getPhase()
Specified by:
getPhase in interface org.springframework.context.Phased

isRunning

public boolean isRunning()
Specified by:
isRunning in interface org.springframework.context.Lifecycle

start

public void start()
Specified by:
start in interface org.springframework.context.Lifecycle

stop

public void stop()
Specified by:
stop in interface org.springframework.context.Lifecycle

stop

public void stop(java.lang.Runnable callback)
Specified by:
stop in interface org.springframework.context.SmartLifecycle

destroy

public void destroy()
             throws java.lang.Exception
Specified by:
destroy in interface org.springframework.beans.factory.DisposableBean
Throws:
java.lang.Exception