Class PointToPointSubscribableAmqpChannel
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.channel.AbstractMessageChannel
org.springframework.integration.amqp.channel.AbstractAmqpChannel
org.springframework.integration.amqp.channel.PointToPointSubscribableAmqpChannel
- All Implemented Interfaces:
ConnectionListener,Aware,BeanFactoryAware,BeanNameAware,DisposableBean,InitializingBean,ApplicationContextAware,Lifecycle,Phased,SmartLifecycle,ExpressionCapable,IntegrationPattern,NamedComponent,IntegrationManagement,ManageableLifecycle,ManageableSmartLifecycle,TrackableComponent,MessageChannel,SubscribableChannel,InterceptableChannel
The
AbstractSubscribableAmqpChannel implementation for one-to-one subscription
over AMQP queue.
If queue name is not provided, the channel bean name is used internally to declare
a queue via provided AmqpAdmin (if any).
- Since:
- 2.1
- Author:
- Mark Fisher, Artem Bilan
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.integration.channel.AbstractMessageChannel
AbstractMessageChannel.ChannelInterceptorListNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.channel.AbstractMessageChannel
interceptors, metersFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.messaging.MessageChannel
INDEFINITE_TIMEOUTFields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE -
Constructor Summary
ConstructorsConstructorDescriptionPointToPointSubscribableAmqpChannel(String channelName, AbstractMessageListenerContainer container, AmqpTemplate amqpTemplate) Construct an instance with the supplied name, container and template; default header mappers will be used if the message is mapped.PointToPointSubscribableAmqpChannel(String channelName, AbstractMessageListenerContainer container, AmqpTemplate amqpTemplate, AmqpHeaderMapper outboundMapper, AmqpHeaderMapper inboundMapper) Construct an instance with the supplied name, container and template; default header mappers will be used if the message is mapped. -
Method Summary
Modifier and TypeMethodDescriptionprotected AbstractDispatchervoiddestroy()protected voidintgetPhase()protected StringSubclasses may override this method to return a routing key.booleanbooleanprotected StringobtainQueueName(String channelName) voidonInit()Subclasses may implement this for initialization logic.voidsetMaxSubscribers(int maxSubscribers) Specify the maximum number of subscribers supported by the channel's dispatcher (if it is anAbstractDispatcher).voidsetQueueName(String queueName) Provide a Queue name to be used.voidstart()voidstop()voidbooleansubscribe(MessageHandler handler) booleanunsubscribe(MessageHandler handler) Methods inherited from class org.springframework.integration.amqp.channel.AbstractAmqpChannel
doSend, getAdmin, getAmqpTemplate, getConnectionFactory, getExchangeName, getInboundHeaderMapper, getRabbitTemplate, isExtractPayload, isLoggingEnabled, onClose, onCreate, setAdmin, setConnectionFactory, setDefaultDeliveryMode, setExtractPayload, setHeadersMappedLast, setLoggingEnabledMethods inherited from class org.springframework.integration.channel.AbstractMessageChannel
addInterceptor, addInterceptor, getComponentType, getFullChannelName, getIChannelInterceptorList, getIntegrationPatternType, getInterceptors, getMetricsCaptor, getOverrides, registerMetricsCaptor, removeInterceptor, removeInterceptor, send, send, setDatatypes, setInterceptors, setMessageConverter, setShouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.amqp.rabbit.connection.ConnectionListener
onFailed, onShutDownMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getManagedName, getManagedType, getThisAs, setManagedName, setManagedTypeMethods inherited from interface org.springframework.messaging.MessageChannel
send, sendMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
PointToPointSubscribableAmqpChannel
public PointToPointSubscribableAmqpChannel(String channelName, AbstractMessageListenerContainer container, AmqpTemplate amqpTemplate) Construct an instance with the supplied name, container and template; default header mappers will be used if the message is mapped.- Parameters:
channelName- the channel name.container- the container.amqpTemplate- the template.- See Also:
-
PointToPointSubscribableAmqpChannel
public PointToPointSubscribableAmqpChannel(String channelName, AbstractMessageListenerContainer container, AmqpTemplate amqpTemplate, AmqpHeaderMapper outboundMapper, AmqpHeaderMapper inboundMapper) Construct an instance with the supplied name, container and template; default header mappers will be used if the message is mapped.- Parameters:
channelName- the channel name.container- the container.amqpTemplate- the template.outboundMapper- the outbound mapper.inboundMapper- the inbound mapper.- Since:
- 4.3
- See Also:
-
-
Method Details
-
setQueueName
Provide a Queue name to be used. If this is not provided, the Queue's name will be the same as the channel name.- Parameters:
queueName- The queue name.
-
obtainQueueName
-
createDispatcher
-
getRoutingKey
Description copied from class:AbstractAmqpChannelSubclasses may override this method to return a routing key. By default, there will be no routing key (empty string).- Overrides:
getRoutingKeyin classAbstractAmqpChannel- Returns:
- The routing key.
-
doDeclares
protected void doDeclares()- Specified by:
doDeclaresin classAbstractAmqpChannel
-
setMaxSubscribers
public void setMaxSubscribers(int maxSubscribers) Specify the maximum number of subscribers supported by the channel's dispatcher (if it is anAbstractDispatcher).- Parameters:
maxSubscribers- The maximum number of subscribers allowed.
-
subscribe
- Specified by:
subscribein interfaceSubscribableChannel
-
unsubscribe
- Specified by:
unsubscribein interfaceSubscribableChannel
-
onInit
public void onInit()Description copied from class:IntegrationObjectSupportSubclasses may implement this for initialization logic.- Overrides:
onInitin classAbstractAmqpChannel
-
isAutoStartup
public boolean isAutoStartup()- Specified by:
isAutoStartupin interfaceSmartLifecycle
-
getPhase
public int getPhase()- Specified by:
getPhasein interfacePhased- Specified by:
getPhasein interfaceSmartLifecycle
-
isRunning
public boolean isRunning()- Specified by:
isRunningin interfaceLifecycle- Specified by:
isRunningin interfaceManageableLifecycle
-
start
public void start()- Specified by:
startin interfaceLifecycle- Specified by:
startin interfaceManageableLifecycle
-
stop
public void stop()- Specified by:
stopin interfaceLifecycle- Specified by:
stopin interfaceManageableLifecycle
-
stop
- Specified by:
stopin interfaceSmartLifecycle
-
destroy
public void destroy()- Specified by:
destroyin interfaceDisposableBean- Specified by:
destroyin interfaceIntegrationManagement- Overrides:
destroyin classAbstractAmqpChannel
-