Class AbstractMessageListenerContainer
public abstract class AbstractMessageListenerContainer : IMessageListenerContainer, ISmartLifecycle, ILifecycle, IPhased, IDisposable, IServiceNameAware
- Inheritance
-
AbstractMessageListenerContainer
- Implements
- Derived
- Inherited Members
Constructors
AbstractMessageListenerContainer(IApplicationContext, IConnectionFactory, string, ILoggerFactory)
protected AbstractMessageListenerContainer(IApplicationContext applicationContext, IConnectionFactory connectionFactory, string name = null, ILoggerFactory loggerFactory = null)
Parameters
applicationContext
IApplicationContextconnectionFactory
IConnectionFactoryname
stringloggerFactory
ILoggerFactory
Fields
DEFAULT_DEBATCHING_ENABLED
public const bool DEFAULT_DEBATCHING_ENABLED = true
Field Value
DEFAULT_FAILED_DECLARATION_RETRY_INTERVAL
public const int DEFAULT_FAILED_DECLARATION_RETRY_INTERVAL = 5000
Field Value
DEFAULT_PREFETCH_COUNT
public const int DEFAULT_PREFETCH_COUNT = 250
Field Value
DEFAULT_RECOVERY_INTERVAL
public const int DEFAULT_RECOVERY_INTERVAL = 5000
Field Value
DEFAULT_SHUTDOWN_TIMEOUT
public const long DEFAULT_SHUTDOWN_TIMEOUT = 5000
Field Value
_consumersMonitor
protected readonly object _consumersMonitor
Field Value
_lifecycleMonitor
protected readonly object _lifecycleMonitor
Field Value
_lock
protected readonly object _lock
Field Value
_logger
protected readonly ILogger _logger
Field Value
_loggerFactory
protected readonly ILoggerFactory _loggerFactory
Field Value
_recoveryInterval
protected int _recoveryInterval
Field Value
Properties
AcknowledgeMode
public virtual AcknowledgeMode AcknowledgeMode { get; set; }
Property Value
AfterReceivePostProcessors
public virtual IList<IMessagePostProcessor> AfterReceivePostProcessors { get; }
Property Value
AlwaysRequeueWithTxManagerRollback
public virtual bool AlwaysRequeueWithTxManagerRollback { get; set; }
Property Value
ApplicationContext
public IApplicationContext ApplicationContext { get; set; }
Property Value
AutoDeclare
public virtual bool AutoDeclare { get; set; }
Property Value
BatchingStrategy
public virtual IBatchingStrategy BatchingStrategy { get; set; }
Property Value
ConnectionFactory
public virtual IConnectionFactory ConnectionFactory { get; set; }
Property Value
ConsumerArguments
public virtual Dictionary<string, object> ConsumerArguments { get; set; }
Property Value
ConsumerTagStrategy
public virtual IConsumerTagStrategy ConsumerTagStrategy { get; set; }
Property Value
DefaultRequeueRejected
public virtual bool DefaultRequeueRejected { get; set; }
Property Value
ErrorHandler
public virtual IErrorHandler ErrorHandler { get; set; }
Property Value
Exclusive
public virtual bool Exclusive { get; set; }
Property Value
ExclusiveConsumerExceptionLogger
public virtual IConditionalExceptionLogger ExclusiveConsumerExceptionLogger { get; set; }
Property Value
ExposeListenerChannel
public virtual bool ExposeListenerChannel { get; set; }
Property Value
FailedDeclarationRetryInterval
public virtual long FailedDeclarationRetryInterval { get; set; }
Property Value
ForceCloseChannel
protected virtual bool ForceCloseChannel { get; set; }
Property Value
IdleEventInterval
public virtual long IdleEventInterval { get; set; }
Property Value
Initialized
public virtual bool Initialized { get; }
Property Value
IsActive
public virtual bool IsActive { get; }
Property Value
IsAutoStartup
Gets a value indicating whether the auto startup is set for this object
public virtual bool IsAutoStartup { get; set; }
Property Value
IsChannelLocallyTransacted
protected virtual bool IsChannelLocallyTransacted { get; }
Property Value
IsChannelTransacted
public virtual bool IsChannelTransacted { get; set; }
Property Value
IsDeBatchingEnabled
public virtual bool IsDeBatchingEnabled { get; set; }
Property Value
IsLazyLoad
public virtual bool IsLazyLoad { get; }
Property Value
IsRunning
Gets a value indicating whether gets a value indicating if its running
public virtual bool IsRunning { get; }
Property Value
LastReceive
protected virtual long LastReceive { get; }
Property Value
ListenerId
public virtual string ListenerId { get; set; }
Property Value
LookupKeyQualifier
public virtual string LookupKeyQualifier { get; set; }
Property Value
MessageHeadersConverter
public virtual IMessageHeadersConverter MessageHeadersConverter { get; set; }
Property Value
MessageListener
public virtual IMessageListener MessageListener { get; set; }
Property Value
MismatchedQueuesFatal
public virtual bool MismatchedQueuesFatal { get; set; }
Property Value
MissingQueuesFatal
public virtual bool MissingQueuesFatal { get; set; }
Property Value
NoLocal
public virtual bool NoLocal { get; set; }
Property Value
Phase
Gets the phase of this object
public virtual int Phase { get; set; }
Property Value
PossibleAuthenticationFailureFatal
public virtual bool PossibleAuthenticationFailureFatal { get; set; }
Property Value
PrefetchCount
public virtual int PrefetchCount { get; set; }
Property Value
RabbitAdmin
public virtual IRabbitAdmin RabbitAdmin { get; set; }
Property Value
RecoveryBackOff
public IBackOff RecoveryBackOff { get; set; }
Property Value
RecoveryInterval
public virtual int RecoveryInterval { get; set; }
Property Value
ServiceName
public virtual string ServiceName { get; set; }
Property Value
ShutdownTimeout
public virtual long ShutdownTimeout { get; set; }
Property Value
StatefulRetryFatalWithNullMessageId
public virtual bool StatefulRetryFatalWithNullMessageId { get; set; }
Property Value
TransactionAttribute
public virtual ITransactionAttribute TransactionAttribute { get; set; }
Property Value
TransactionManager
public virtual IPlatformTransactionManager TransactionManager { get; set; }
Property Value
Methods
ActualInvokeListener(IModel, IMessage)
protected virtual void ActualInvokeListener(IModel channel, IMessage message)
Parameters
channel
IModelmessage
IMessage
ActualInvokeListener(IModel, List<IMessage>)
protected virtual void ActualInvokeListener(IModel channel, List<IMessage> data)
Parameters
AddAfterReceivePostProcessors(params IMessagePostProcessor[])
public virtual void AddAfterReceivePostProcessors(params IMessagePostProcessor[] afterReceivePostProcessors)
Parameters
afterReceivePostProcessors
IMessagePostProcessor[]
AddQueueNames(params string[])
public virtual void AddQueueNames(params string[] queueNames)
Parameters
queueNames
string[]
AddQueues(params IQueue[])
public virtual void AddQueues(params IQueue[] queues)
Parameters
queues
IQueue[]
CauseChainHasImmediateAcknowledgeRabbitException(Exception)
protected virtual bool CauseChainHasImmediateAcknowledgeRabbitException(Exception exception)
Parameters
exception
Exception
Returns
CheckMessageListener(object)
protected virtual void CheckMessageListener(object listener)
Parameters
listener
object
CheckMismatchedQueues()
protected virtual void CheckMismatchedQueues()
ConfigureAdminIfNeeded()
protected virtual void ConfigureAdminIfNeeded()
ConvertRabbitAccessException(Exception)
protected virtual Exception ConvertRabbitAccessException(Exception ex)
Parameters
ex
Exception
Returns
CreateConnection()
protected virtual IConnection CreateConnection()
Returns
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public virtual void Dispose()
DoInitialize()
protected abstract void DoInitialize()
DoInvokeListener(IChannelAwareMessageListener, IModel, IMessage)
protected virtual void DoInvokeListener(IChannelAwareMessageListener listener, IModel channel, IMessage message)
Parameters
listener
IChannelAwareMessageListenerchannel
IModelmessage
IMessage
DoInvokeListener(IChannelAwareMessageListener, IModel, List<IMessage>)
protected virtual void DoInvokeListener(IChannelAwareMessageListener listener, IModel channel, List<IMessage> data)
Parameters
listener
IChannelAwareMessageListenerchannel
IModeldata
List<IMessage>
DoInvokeListener(IMessageListener, IMessage)
protected virtual void DoInvokeListener(IMessageListener listener, IMessage message)
Parameters
listener
IMessageListenermessage
IMessage
DoInvokeListener(IMessageListener, List<IMessage>)
protected virtual void DoInvokeListener(IMessageListener listener, List<IMessage> data)
Parameters
listener
IMessageListenerdata
List<IMessage>
DoShutdown()
protected abstract void DoShutdown()
DoStart()
protected virtual void DoStart()
DoStop()
protected virtual void DoStop()
ExecuteListener(IModel, IMessage)
protected virtual void ExecuteListener(IModel channel, IMessage message)
Parameters
channel
IModelmessage
IMessage
GetConnectionFactory()
public virtual IConnectionFactory GetConnectionFactory()
Returns
GetQueueNames()
public virtual string[] GetQueueNames()
Returns
- string[]
GetQueueNamesAsSet()
protected virtual ISet<string> GetQueueNamesAsSet()
Returns
GetQueueNamesToQueues()
protected virtual Dictionary<string, IQueue> GetQueueNamesToQueues()
Returns
GetRoutingConnectionFactory()
protected virtual IRoutingConnectionFactory GetRoutingConnectionFactory()
Returns
GetRoutingLookupKey()
protected virtual string GetRoutingLookupKey()
Returns
GetTransactionalResourceHolder()
protected virtual RabbitResourceHolder GetTransactionalResourceHolder()
Returns
HandleChannelAwareTransaction(IModel, out IModel, out RabbitResourceHolder)
protected virtual bool HandleChannelAwareTransaction(IModel channel, out IModel channelToUse, out RabbitResourceHolder resourceHolder)
Parameters
channel
IModelchannelToUse
IModelresourceHolder
RabbitResourceHolder
Returns
HandleListenerException(Exception)
protected virtual void HandleListenerException(Exception exception)
Parameters
exception
Exception
Initialize()
public virtual void Initialize()
InvokeErrorHandler(Exception)
protected virtual void InvokeErrorHandler(Exception ex)
Parameters
ex
Exception
LazyLoad()
Do not check for missing or mismatched queues during startup. Used for lazily loaded message listener containers to avoid a deadlock when starting such containers. Applications lazily loading containers should verify the queue configuration before loading the container bean.
public virtual void LazyLoad()
PrepareHolderForRollback(RabbitResourceHolder, Exception)
protected virtual void PrepareHolderForRollback(RabbitResourceHolder resourceHolder, Exception exception)
Parameters
resourceHolder
RabbitResourceHolderexception
Exception
RedeclareElementsIfNecessary()
protected virtual void RedeclareElementsIfNecessary()
RemoveAfterReceivePostProcessor(IMessagePostProcessor)
public virtual bool RemoveAfterReceivePostProcessor(IMessagePostProcessor afterReceivePostProcessor)
Parameters
afterReceivePostProcessor
IMessagePostProcessor
Returns
RemoveQueueNames(params string[])
public virtual bool RemoveQueueNames(params string[] queueNames)
Parameters
queueNames
string[]
Returns
RemoveQueues(params IQueue[])
public virtual void RemoveQueues(params IQueue[] queues)
Parameters
queues
IQueue[]
SetAfterReceivePostProcessors(params IMessagePostProcessor[])
public virtual void SetAfterReceivePostProcessors(params IMessagePostProcessor[] afterReceivePostProcessors)
Parameters
afterReceivePostProcessors
IMessagePostProcessor[]
SetQueueNames(params string[])
public virtual void SetQueueNames(params string[] queueNames)
Parameters
queueNames
string[]
SetQueues(params IQueue[])
public virtual void SetQueues(params IQueue[] queues)
Parameters
queues
IQueue[]
SetupMessageListener(IMessageListener)
Setup the message listener to use.
public virtual void SetupMessageListener(IMessageListener messageListener)
Parameters
messageListener
IMessageListenerthe message listener
Shutdown()
public virtual void Shutdown()
Start()
Start this component
public virtual Task Start()
Returns
- Task
a task to signal completion
Stop()
Stop this component
public virtual Task Stop()
Returns
- Task
a task to signal completion
Stop(Action)
Stop the component and issue the callback when complete
public virtual Task Stop(Action callback)
Parameters
callback
Actionthe callback action to invoke when complete
Returns
- Task
a task for completion
UpdateLastReceive()
protected virtual void UpdateLastReceive()
ValidateConfiguration()
protected virtual void ValidateConfiguration()
WrapToListenerExecutionFailedExceptionIfNeeded(Exception, IMessage)
protected virtual ListenerExecutionFailedException WrapToListenerExecutionFailedExceptionIfNeeded(Exception exception, IMessage message)
Parameters
Returns
WrapToListenerExecutionFailedExceptionIfNeeded(Exception, List<IMessage>)
protected virtual ListenerExecutionFailedException WrapToListenerExecutionFailedExceptionIfNeeded(Exception exception, List<IMessage> data)