Ejemplo n.º 1
0
 /// <summary>
 /// Create a rabbitconsumer which will consume message from a PUBLIC exchange. This exchange is supposed to be direct/fanout (otherwise use the raw constructor)
 /// </summary>
 /// <param name="settings">Settings used to construct the consumer</param>
 /// <param name="exchange">the exchange you want to listen to</param>
 public RabbitConsumer(HareConsumerSettings settings, RabbitExchange exchange)
     : this(settings)
 {
     _myQueue = new RabbitQueue(GetUniqueIdentifier(exchange.Name))
     {
         AutoDelete = true
     };
     RedeclareMyTopology = m =>
     {
         exchange.Declare(m);
         _myQueue.Declare(m);
         m.QueueBind(_myQueue.Name, exchange.Name, "noRKrequired");
     };
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Publish to a PUBLIC queue
 /// </summary>
 /// <param name="mySettings">Settings used to construct a publisher</param>
 /// <param name="destinationQueue">public queue you want to connect to</param>
 public RabbitPublisher(HarePublisherSettings mySettings, RabbitQueue destinationQueue)
     : this(mySettings)
 {
     _destinationQueue = destinationQueue;
     _myExchange       = new RabbitExchange(destinationQueue.Name + "-" + "exchange")
     {
         AutoDelete = true
     };
     RedeclareMyTopology = m =>
     {
         _myExchange.Declare(m);
         destinationQueue.Declare(m);
         m.QueueBind(destinationQueue.Name, _myExchange.Name, "noRKneeded");
     };
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Raw constructor. You give the Queue and a handler to create the topology. Use at your own risk !
 /// </summary>
 /// <param name="settings">Settings used to construct the consumer</param>
 /// <param name="queue">the queue you want to listen to. It *won't* be created, you have to create it in redeclareTopology</param>
 /// <param name="redeclareTopology">Construct your complete, twisted, complex topology :) </param>
 public RabbitConsumer(HareConsumerSettings settings, RabbitQueue queue, Action <IModel> redeclareTopology)
     : this(settings)
 {
     _myQueue            = queue;
     RedeclareMyTopology = redeclareTopology;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Create a rabbitconsumer which will consume message from a PUBLIC queue without knowing who will feed it
 /// </summary>
 /// <param name="settings">Settings used to construct the consumer</param>
 /// <param name="queue">the queue you want to listen to</param>
 public RabbitConsumer(HareConsumerSettings settings, RabbitQueue queue)
     : this(settings)
 {
     _myQueue            = queue;
     RedeclareMyTopology = m => _myQueue.Declare(m);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Raw constructor. You give the Queue and a handler to create the topology. Use at your own risk !
 /// </summary>
 /// <param name="settings">Settings used to construct the consumer</param>
 /// <param name="queue">the queue you want to listen to. It *won't* be created, you have to create it in redeclareTopology</param>
 /// <param name="redeclareTopology">Construct your complete, twisted, complex topology :) </param>
 public RabbitConsumer(HareConsumerSettings settings, RabbitQueue queue, Action<IModel> redeclareTopology)
     : this(settings)
 {
     _myQueue = queue;
     RedeclareMyTopology = redeclareTopology;
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Create a rabbitconsumer which will consume message from a PUBLIC queue without knowing who will feed it
 /// </summary>
 /// <param name="settings">Settings used to construct the consumer</param>
 /// <param name="queue">the queue you want to listen to</param>
 public RabbitConsumer(HareConsumerSettings settings, RabbitQueue queue)
     : this(settings)
 {
     _myQueue = queue;
     RedeclareMyTopology = _myQueue.Declare;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Create a rabbitconsumer which will consume message from a PUBLIC exchange. This exchange is supposed to be direct/fanout (otherwise use the raw constructor)
 /// </summary>
 /// <param name="settings">Settings used to construct the consumer</param>
 /// <param name="exchange">the exchange you want to listen to</param>
 public RabbitConsumer(HareConsumerSettings settings, RabbitExchange exchange)
     : this(settings)
 {
     _myQueue = new RabbitQueue(GetUniqueIdentifier(exchange.Name)) { AutoDelete = true };
     RedeclareMyTopology = m =>
         {
             exchange.Declare(m);
             _myQueue.Declare(m);
             m.QueueBind(_myQueue.Name, exchange.Name, "noRKrequired");
         };
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Publish to a PUBLIC queue
 /// </summary>
 /// <param name="mySettings">Settings used to construct a publisher</param>
 /// <param name="destinationQueue">public queue you want to connect to</param>
 public RabbitPublisher(HarePublisherSettings mySettings, RabbitQueue destinationQueue)
     : this(mySettings)
 {
     _myExchange = new RabbitExchange(destinationQueue.Name + "-" + "exchange") { AutoDelete = true };
     RedeclareMyTopology = m =>
     {
         _myExchange.Declare(m);
         destinationQueue.Declare(m);
         m.QueueBind(destinationQueue.Name, _myExchange.Name, "noRKneeded");
     };
 }