C# 클래스 NServiceBus.Transports.RabbitMQ.Routing.ConventionalRoutingTopology

Implements the RabbitMQ routing topology as described at http://codebetter.com/drusellers/2011/05/08/brain-dump-conventional-routing-in-rabbitmq/ take 4: we generate an exchange for each queue so that we can do direct sends to the queue. it is bound as a fanout exchange for each message published we generate series of exchanges that go from concrete class to each of its subclass / interfaces these are linked together from most specific to least specific. This way if you subscribe to the base interface you get all the messages. or you can be more selective. all exchanges in this situation are bound as fanouts. the subscriber declares his own queue and his queue exchange – he then also declares/binds his exchange to each of the message type exchanges desired the publisher discovers all of the exchanges needed for a given message, binds them all up and then pushes the message into the most specific queue letting RabbitMQ do the fanout for him. (One publish, multiple receivers!) we generate an exchange for each queue so that we can do direct sends to the queue. it is bound as a fanout exchange
상속: IRoutingTopology
파일 보기 프로젝트 열기: MyDealerLot/NServiceBus.RabbitMQ

공개 메소드들

메소드 설명
ConventionalRoutingTopology ( bool useDurableExchanges ) : System
Initialize ( IModel channel, string mainQueue ) : void
Publish ( IModel channel, Type type, TransportMessage message, IBasicProperties properties ) : void
Send ( IModel channel, Address address, TransportMessage message, IBasicProperties properties ) : void
SetupSubscription ( IModel channel, Type type, string subscriberName ) : void
TeardownSubscription ( IModel channel, Type type, string subscriberName ) : void

비공개 메소드들

메소드 설명
CreateExchange ( IModel channel, string exchangeName ) : void
ExchangeName ( Type type ) : string
IsTypeTopologyKnownConfigured ( Type eventType ) : bool
MarkTypeConfigured ( Type eventType ) : void
SetupTypeSubscriptions ( IModel channel, Type type ) : void

메소드 상세

ConventionalRoutingTopology() 공개 메소드

public ConventionalRoutingTopology ( bool useDurableExchanges ) : System
useDurableExchanges bool
리턴 System

Initialize() 공개 메소드

public Initialize ( IModel channel, string mainQueue ) : void
channel IModel
mainQueue string
리턴 void

Publish() 공개 메소드

public Publish ( IModel channel, Type type, TransportMessage message, IBasicProperties properties ) : void
channel IModel
type System.Type
message TransportMessage
properties IBasicProperties
리턴 void

Send() 공개 메소드

public Send ( IModel channel, Address address, TransportMessage message, IBasicProperties properties ) : void
channel IModel
address Address
message TransportMessage
properties IBasicProperties
리턴 void

SetupSubscription() 공개 메소드

public SetupSubscription ( IModel channel, Type type, string subscriberName ) : void
channel IModel
type System.Type
subscriberName string
리턴 void

TeardownSubscription() 공개 메소드

public TeardownSubscription ( IModel channel, Type type, string subscriberName ) : void
channel IModel
type System.Type
subscriberName string
리턴 void