Esempio n. 1
0
 public RabbitEventBus(
     IObserverUnitContainer observerUnitContainer,
     IRabbitEventBusContainer eventBusContainer,
     string exchange, string routePrefix, int lBCount = 1, bool reenqueue = true, bool persistent = false)
 {
     if (string.IsNullOrEmpty(exchange))
     {
         throw new ArgumentNullException(nameof(exchange));
     }
     if (string.IsNullOrEmpty(routePrefix))
     {
         throw new ArgumentNullException(nameof(routePrefix));
     }
     if (lBCount < 1)
     {
         throw new ArgumentOutOfRangeException($"{nameof(lBCount)} must be greater than 1");
     }
     this.observerUnitContainer = observerUnitContainer;
     Container      = eventBusContainer;
     Exchange       = exchange;
     RoutePrefix    = routePrefix;
     LBCount        = lBCount;
     Persistent     = persistent;
     ConsumerConfig = new ConsumerOptions
     {
         Reenqueue         = reenqueue,
         ErrorQueueSuffix  = "_error",
         MaxReenqueueTimes = 10
     };
 }
Esempio n. 2
0
 public ConsumerManager(
     ILogger <ConsumerManager> logger,
     IRabbitMQClient client,
     IGrainFactory grainFactory,
     IServiceProvider provider,
     IRabbitEventBusContainer rabbitEventBusContainer)
 {
     this.provider = provider;
     this.client   = client;
     this.logger   = logger;
     this.rabbitEventBusContainer = rabbitEventBusContainer;
     this.grainFactory            = grainFactory;
 }
Esempio n. 3
0
 public RabbitEventBus(
     IServiceProvider serviceProvider,
     IRabbitEventBusContainer eventBusContainer,
     string exchange, string routePrefix, int lBCount = 1, ushort minQos = 100, ushort incQos = 100, ushort maxQos = 300, bool autoAck = false, bool reenqueue = false)
 {
     if (string.IsNullOrEmpty(exchange))
     {
         throw new ArgumentNullException(nameof(exchange));
     }
     if (string.IsNullOrEmpty(routePrefix))
     {
         throw new ArgumentNullException(nameof(routePrefix));
     }
     if (lBCount < 1)
     {
         throw new ArgumentOutOfRangeException($"{nameof(lBCount)} must be greater than 1");
     }
     ServiceProvider       = serviceProvider;
     observerUnitContainer = serviceProvider.GetService <IObserverUnitContainer>();
     Container             = eventBusContainer;
     Exchange              = exchange;
     RoutePrefix           = routePrefix;
     LBCount               = lBCount;
     DefaultConsumerConfig = new BranchOptions
     {
         AutoAck   = autoAck,
         MaxQos    = maxQos,
         MinQos    = minQos,
         IncQos    = incQos,
         Reenqueue = reenqueue
     };
     RouteList = new List <string>();
     if (LBCount == 1)
     {
         RouteList.Add(routePrefix);
     }
     else
     {
         for (int i = 0; i < LBCount; i++)
         {
             RouteList.Add($"{routePrefix }_{ i.ToString()}");
         }
     }
     _CHash = new ConsistentHash(RouteList, lBCount * 10);
 }
Esempio n. 4
0
 public RabbitEventBus(
     IObserverUnitContainer observerUnitContainer,
     IRabbitEventBusContainer eventBusContainer,
     string exchange, string routePrefix, int lBCount = 1, ushort qos = 5000, bool autoAck = false, bool reenqueue = true, bool persistent = false)
 {
     if (string.IsNullOrEmpty(exchange))
     {
         throw new ArgumentNullException(nameof(exchange));
     }
     if (string.IsNullOrEmpty(routePrefix))
     {
         throw new ArgumentNullException(nameof(routePrefix));
     }
     if (lBCount < 1)
     {
         throw new ArgumentOutOfRangeException($"{nameof(lBCount)} must be greater than 1");
     }
     this.observerUnitContainer = observerUnitContainer;
     Container      = eventBusContainer;
     Exchange       = exchange;
     RoutePrefix    = routePrefix;
     LBCount        = lBCount;
     Persistent     = persistent;
     ConsumerConfig = new ConsumerOptions
     {
         AutoAck   = autoAck,
         Qos       = qos,
         Reenqueue = reenqueue,
     };
     RouteList = new List <string>();
     if (LBCount == 1)
     {
         RouteList.Add(routePrefix);
     }
     else
     {
         for (int i = 0; i < LBCount; i++)
         {
             RouteList.Add($"{routePrefix }_{ i.ToString()}");
         }
     }
     _CHash = new ConsistentHash(RouteList, lBCount * 10);
 }
Esempio n. 5
0
 public RabbitEventBus(
     IServiceProvider serviceProvider,
     IRabbitEventBusContainer eventBusContainer,
     string exchange, string routePrefix, int lBCount = 1)
 {
     if (string.IsNullOrEmpty(exchange))
     {
         throw new ArgumentNullException(nameof(exchange));
     }
     if (string.IsNullOrEmpty(routePrefix))
     {
         throw new ArgumentNullException(nameof(routePrefix));
     }
     if (lBCount < 1)
     {
         throw new ArgumentOutOfRangeException($"{nameof(lBCount)} must be greater than 1");
     }
     ServiceProvider = serviceProvider;
     Container       = eventBusContainer;
     Exchange        = exchange;
     RoutePrefix     = routePrefix;
     LBCount         = lBCount;
     RouteList       = new List <string>();
     if (LBCount == 1)
     {
         RouteList.Add(routePrefix);
     }
     else
     {
         for (int i = 0; i < LBCount; i++)
         {
             RouteList.Add($"{routePrefix }_{ i.ToString()}");
         }
     }
     _CHash = new ConsistentHash(RouteList, lBCount * 10);
 }