Table of Contents

Class AbstractMessageListenerContainer

Namespace
Steeltoe.Messaging.RabbitMQ.Listener
Assembly
Steeltoe.Messaging.RabbitMQ.dll
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 IApplicationContext
connectionFactory IConnectionFactory
name string
loggerFactory ILoggerFactory

Fields

DEFAULT_DEBATCHING_ENABLED

public const bool DEFAULT_DEBATCHING_ENABLED = true

Field Value

bool

DEFAULT_FAILED_DECLARATION_RETRY_INTERVAL

public const int DEFAULT_FAILED_DECLARATION_RETRY_INTERVAL = 5000

Field Value

int

DEFAULT_PREFETCH_COUNT

public const int DEFAULT_PREFETCH_COUNT = 250

Field Value

int

DEFAULT_RECOVERY_INTERVAL

public const int DEFAULT_RECOVERY_INTERVAL = 5000

Field Value

int

DEFAULT_SHUTDOWN_TIMEOUT

public const long DEFAULT_SHUTDOWN_TIMEOUT = 5000

Field Value

long

_consumersMonitor

protected readonly object _consumersMonitor

Field Value

object

_lifecycleMonitor

protected readonly object _lifecycleMonitor

Field Value

object

_lock

protected readonly object _lock

Field Value

object

_logger

protected readonly ILogger _logger

Field Value

ILogger

_loggerFactory

protected readonly ILoggerFactory _loggerFactory

Field Value

ILoggerFactory

_recoveryInterval

protected int _recoveryInterval

Field Value

int

Properties

AcknowledgeMode

public virtual AcknowledgeMode AcknowledgeMode { get; set; }

Property Value

AcknowledgeMode

AfterReceivePostProcessors

public virtual IList<IMessagePostProcessor> AfterReceivePostProcessors { get; }

Property Value

IList<IMessagePostProcessor>

AlwaysRequeueWithTxManagerRollback

public virtual bool AlwaysRequeueWithTxManagerRollback { get; set; }

Property Value

bool

ApplicationContext

public IApplicationContext ApplicationContext { get; set; }

Property Value

IApplicationContext

AutoDeclare

public virtual bool AutoDeclare { get; set; }

Property Value

bool

BatchingStrategy

public virtual IBatchingStrategy BatchingStrategy { get; set; }

Property Value

IBatchingStrategy

ConnectionFactory

public virtual IConnectionFactory ConnectionFactory { get; set; }

Property Value

IConnectionFactory

ConsumerArguments

public virtual Dictionary<string, object> ConsumerArguments { get; set; }

Property Value

Dictionary<string, object>

ConsumerTagStrategy

public virtual IConsumerTagStrategy ConsumerTagStrategy { get; set; }

Property Value

IConsumerTagStrategy

DefaultRequeueRejected

public virtual bool DefaultRequeueRejected { get; set; }

Property Value

bool

ErrorHandler

public virtual IErrorHandler ErrorHandler { get; set; }

Property Value

IErrorHandler

Exclusive

public virtual bool Exclusive { get; set; }

Property Value

bool

ExclusiveConsumerExceptionLogger

public virtual IConditionalExceptionLogger ExclusiveConsumerExceptionLogger { get; set; }

Property Value

IConditionalExceptionLogger

ExposeListenerChannel

public virtual bool ExposeListenerChannel { get; set; }

Property Value

bool

FailedDeclarationRetryInterval

public virtual long FailedDeclarationRetryInterval { get; set; }

Property Value

long

ForceCloseChannel

protected virtual bool ForceCloseChannel { get; set; }

Property Value

bool

IdleEventInterval

public virtual long IdleEventInterval { get; set; }

Property Value

long

Initialized

public virtual bool Initialized { get; }

Property Value

bool

IsActive

public virtual bool IsActive { get; }

Property Value

bool

IsAutoStartup

Gets a value indicating whether the auto startup is set for this object

public virtual bool IsAutoStartup { get; set; }

Property Value

bool

IsChannelLocallyTransacted

protected virtual bool IsChannelLocallyTransacted { get; }

Property Value

bool

IsChannelTransacted

public virtual bool IsChannelTransacted { get; set; }

Property Value

bool

IsDeBatchingEnabled

public virtual bool IsDeBatchingEnabled { get; set; }

Property Value

bool

IsLazyLoad

public virtual bool IsLazyLoad { get; }

Property Value

bool

IsRunning

Gets a value indicating whether gets a value indicating if its running

public virtual bool IsRunning { get; }

Property Value

bool

LastReceive

protected virtual long LastReceive { get; }

Property Value

long

ListenerId

public virtual string ListenerId { get; set; }

Property Value

string

LookupKeyQualifier

public virtual string LookupKeyQualifier { get; set; }

Property Value

string

MessageHeadersConverter

public virtual IMessageHeadersConverter MessageHeadersConverter { get; set; }

Property Value

IMessageHeadersConverter

MessageListener

public virtual IMessageListener MessageListener { get; set; }

Property Value

IMessageListener

MismatchedQueuesFatal

public virtual bool MismatchedQueuesFatal { get; set; }

Property Value

bool

MissingQueuesFatal

public virtual bool MissingQueuesFatal { get; set; }

Property Value

bool

NoLocal

public virtual bool NoLocal { get; set; }

Property Value

bool

Phase

Gets the phase of this object

public virtual int Phase { get; set; }

Property Value

int

PossibleAuthenticationFailureFatal

public virtual bool PossibleAuthenticationFailureFatal { get; set; }

Property Value

bool

PrefetchCount

public virtual int PrefetchCount { get; set; }

Property Value

int

RabbitAdmin

public virtual IRabbitAdmin RabbitAdmin { get; set; }

Property Value

IRabbitAdmin

RecoveryBackOff

public IBackOff RecoveryBackOff { get; set; }

Property Value

IBackOff

RecoveryInterval

public virtual int RecoveryInterval { get; set; }

Property Value

int

ServiceName

public virtual string ServiceName { get; set; }

Property Value

string

ShutdownTimeout

public virtual long ShutdownTimeout { get; set; }

Property Value

long

StatefulRetryFatalWithNullMessageId

public virtual bool StatefulRetryFatalWithNullMessageId { get; set; }

Property Value

bool

TransactionAttribute

public virtual ITransactionAttribute TransactionAttribute { get; set; }

Property Value

ITransactionAttribute

TransactionManager

public virtual IPlatformTransactionManager TransactionManager { get; set; }

Property Value

IPlatformTransactionManager

Methods

ActualInvokeListener(IModel, IMessage)

protected virtual void ActualInvokeListener(IModel channel, IMessage message)

Parameters

channel IModel
message IMessage

ActualInvokeListener(IModel, List<IMessage>)

protected virtual void ActualInvokeListener(IModel channel, List<IMessage> data)

Parameters

channel IModel
data List<IMessage>

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

bool

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

Exception

CreateConnection()

protected virtual IConnection CreateConnection()

Returns

IConnection

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 IChannelAwareMessageListener
channel IModel
message IMessage

DoInvokeListener(IChannelAwareMessageListener, IModel, List<IMessage>)

protected virtual void DoInvokeListener(IChannelAwareMessageListener listener, IModel channel, List<IMessage> data)

Parameters

listener IChannelAwareMessageListener
channel IModel
data List<IMessage>

DoInvokeListener(IMessageListener, IMessage)

protected virtual void DoInvokeListener(IMessageListener listener, IMessage message)

Parameters

listener IMessageListener
message IMessage

DoInvokeListener(IMessageListener, List<IMessage>)

protected virtual void DoInvokeListener(IMessageListener listener, List<IMessage> data)

Parameters

listener IMessageListener
data 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 IModel
message IMessage

GetConnectionFactory()

public virtual IConnectionFactory GetConnectionFactory()

Returns

IConnectionFactory

GetQueueNames()

public virtual string[] GetQueueNames()

Returns

string[]

GetQueueNamesAsSet()

protected virtual ISet<string> GetQueueNamesAsSet()

Returns

ISet<string>

GetQueueNamesToQueues()

protected virtual Dictionary<string, IQueue> GetQueueNamesToQueues()

Returns

Dictionary<string, IQueue>

GetRoutingConnectionFactory()

protected virtual IRoutingConnectionFactory GetRoutingConnectionFactory()

Returns

IRoutingConnectionFactory

GetRoutingLookupKey()

protected virtual string GetRoutingLookupKey()

Returns

string

GetTransactionalResourceHolder()

protected virtual RabbitResourceHolder GetTransactionalResourceHolder()

Returns

RabbitResourceHolder

HandleChannelAwareTransaction(IModel, out IModel, out RabbitResourceHolder)

protected virtual bool HandleChannelAwareTransaction(IModel channel, out IModel channelToUse, out RabbitResourceHolder resourceHolder)

Parameters

channel IModel
channelToUse IModel
resourceHolder RabbitResourceHolder

Returns

bool

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 RabbitResourceHolder
exception Exception

RedeclareElementsIfNecessary()

protected virtual void RedeclareElementsIfNecessary()

RemoveAfterReceivePostProcessor(IMessagePostProcessor)

public virtual bool RemoveAfterReceivePostProcessor(IMessagePostProcessor afterReceivePostProcessor)

Parameters

afterReceivePostProcessor IMessagePostProcessor

Returns

bool

RemoveQueueNames(params string[])

public virtual bool RemoveQueueNames(params string[] queueNames)

Parameters

queueNames string[]

Returns

bool

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 IMessageListener

the 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 Action

the 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

exception Exception
message IMessage

Returns

ListenerExecutionFailedException

WrapToListenerExecutionFailedExceptionIfNeeded(Exception, List<IMessage>)

protected virtual ListenerExecutionFailedException WrapToListenerExecutionFailedExceptionIfNeeded(Exception exception, List<IMessage> data)

Parameters

exception Exception
data List<IMessage>

Returns

ListenerExecutionFailedException