C# Class EasyNetQ.Consumer.DefaultConsumerErrorStrategy

A strategy for dealing with failed messages. When a message consumer thows, HandleConsumerError is invoked. The general priciple is to put all failed messages in a dedicated error queue so that they can be examined and retried (or ignored). Each failed message is wrapped in a special system message, 'Error' and routed by a special exchange named after the orignal message's routing key. This is so that ad-hoc queues can be attached for errors on specific message types. Each exchange is bound to the central EasyNetQ error queue.
Inheritance: IConsumerErrorStrategy
ファイルを表示 Open project: EasyNetQ/EasyNetQ Class Usage Examples

Public Methods

Method Description
DefaultConsumerErrorStrategy ( IConnectionFactory connectionFactory, ISerializer serializer, IEasyNetQLogger logger, IConventions conventions, ITypeNameSerializer typeNameSerializer, IErrorMessageSerializer errorMessageSerializer ) : System
Dispose ( ) : void
HandleConsumerCancelled ( EasyNetQ.Consumer.ConsumerExecutionContext context ) : AckStrategy
HandleConsumerError ( EasyNetQ.Consumer.ConsumerExecutionContext context, Exception exception ) : AckStrategy

Private Methods

Method Description
Connect ( ) : void
CreateConnectionCheckMessage ( ) : string
CreateErrorMessage ( EasyNetQ.Consumer.ConsumerExecutionContext context, Exception exception ) : byte[]
DeclareDefaultErrorQueue ( IModel model ) : void
DeclareErrorExchangeAndBindToDefaultErrorQueue ( IModel model, EasyNetQ.Consumer.ConsumerExecutionContext context ) : string
DeclareErrorExchangeQueueStructure ( IModel model, EasyNetQ.Consumer.ConsumerExecutionContext context ) : string

Method Details

DefaultConsumerErrorStrategy() public method

public DefaultConsumerErrorStrategy ( IConnectionFactory connectionFactory, ISerializer serializer, IEasyNetQLogger logger, IConventions conventions, ITypeNameSerializer typeNameSerializer, IErrorMessageSerializer errorMessageSerializer ) : System
connectionFactory IConnectionFactory
serializer ISerializer
logger IEasyNetQLogger
conventions IConventions
typeNameSerializer ITypeNameSerializer
errorMessageSerializer IErrorMessageSerializer
return System

Dispose() public method

public Dispose ( ) : void
return void

HandleConsumerCancelled() public method

public HandleConsumerCancelled ( EasyNetQ.Consumer.ConsumerExecutionContext context ) : AckStrategy
context EasyNetQ.Consumer.ConsumerExecutionContext
return AckStrategy

HandleConsumerError() public method

public HandleConsumerError ( EasyNetQ.Consumer.ConsumerExecutionContext context, Exception exception ) : AckStrategy
context EasyNetQ.Consumer.ConsumerExecutionContext
exception System.Exception
return AckStrategy