public void ShouldCreateSomeSubscriptions()
        {
            _rabbitMqBus.SubscribeToExchange(new RabbitMqEventSubscription <TestEventOne>("testevent-exchange", "topic", (ev) =>
            {
                _counterTestEventOneNoFilter++;
                return(Task.CompletedTask);
            },
                                                                                          isExchangeDurable: false,
                                                                                          isExchangeAutoDelete: true,
                                                                                          isQueueDurable: false,
                                                                                          isQueueAutoAck: false,
                                                                                          isQueueAutoDelete: true,
                                                                                          isQueueExclusive: true));

            _rabbitMqBus.SubscribeToExchange(new RabbitMqEventSubscription <TestEventOne>("testevent-exchange", "topic", onMessage: (ev) =>
            {
                _counterTestEventOneFilterOnFilterOne++;
                return(Task.CompletedTask);
            },
                                                                                          isExchangeDurable: false,
                                                                                          isExchangeAutoDelete: true,
                                                                                          isQueueDurable: false,
                                                                                          isQueueAutoAck: false,
                                                                                          isQueueAutoDelete: true,
                                                                                          isQueueExclusive: true,
                                                                                          routingStrategy: (ev) => ev.FilterOne == "filterOne"));

            _rabbitMqBus.SubscribeToExchange(new RabbitMqEventSubscription <TestEventTwo>("testevent-exchange", "topic", (ev) =>
            {
                _counterTestEventTwoNoFilter++;
                return(Task.CompletedTask);
            },
                                                                                          isExchangeDurable: false,
                                                                                          isExchangeAutoDelete: true,
                                                                                          isQueueDurable: false,
                                                                                          isQueueAutoAck: false,
                                                                                          isQueueAutoDelete: true,
                                                                                          isQueueExclusive: true));

            _rabbitMqBus.SubscribeToExchange(new RabbitMqEventSubscription <TestEventTwo>("testevent-exchange", "topic", onMessage: (ev) =>
            {
                _counterTestEventTwoFilterOnFilterTwo++;
                return(Task.CompletedTask);
            },
                                                                                          isExchangeDurable: false,
                                                                                          isExchangeAutoDelete: true,
                                                                                          isQueueDurable: false,
                                                                                          isQueueAutoAck: false,
                                                                                          isQueueAutoDelete: true,
                                                                                          isQueueExclusive: true,
                                                                                          routingStrategy: (ev) => ev.FilterTwo == "filterTwo"));
        }
示例#2
0
        public Consumer()
        {
            _messageHandlerInvokerCache = new MessageHandlerInvokerCache();

            _rabbitMqBus = IntegrationTestsHelper.GetRabbitMqBus();

            _rabbitMqBus.SubscribeToExchange(new RabbitMqEventSubscription <TestEventOne>("testevent-exchange", "topic", onMessage: (ev) =>
            {
                var candidateHandler = _messageHandlerInvokerCache.GetMethodInfo(GetType(), typeof(TestEventOne));

                if (null != candidateHandler)
                {
                    ((Task)candidateHandler.Invoke(this, new object[] { ev.Content })).Wait();
                }

                return(Task.CompletedTask);
            },
                                                                                          isExchangeDurable: false,
                                                                                          isExchangeAutoDelete: true,
                                                                                          isQueueDurable: false,
                                                                                          isQueueAutoAck: false,
                                                                                          isQueueAutoDelete: true,
                                                                                          isQueueExclusive: true,
                                                                                          routingStrategy: (ev) => ev.FilterOne == "filterOne"));
        }
示例#3
0
 public void ShouldCreateSusbscription()
 {
     _rabbitMqBus.SubscribeToExchange(new RabbitMqEventSubscription <TestEventOne>("testevent-exchange", "topic",
                                                                                   (ev) =>
     {
         _counter++;
         return(Task.CompletedTask);
     },
                                                                                   isExchangeDurable: false,
                                                                                   isExchangeAutoDelete: true,
                                                                                   isQueueDurable: false,
                                                                                   isQueueAutoAck: false,
                                                                                   isQueueAutoDelete: true,
                                                                                   isQueueExclusive: true));
 }