public AdvancedBusEventHandlersTests()
        {
            advancedBusEventHandlers = new AdvancedBusEventHandlers(
                connected: (s, e) => connectedCalled       = true,
                disconnected: (s, e) => disconnectedCalled = true,
                blocked: (s, e) =>
            {
                blockedCalled = true;
                connectionBlockedEventArgs = e;
            },
                unblocked: (s, e) => unBlockedCalled = true,
                messageReturned: (s, e) =>
            {
                messageReturnedCalled    = true;
                messageReturnedEventArgs = e;
            });

            var connectionFactory = Substitute.For <IConnectionFactory>();

            connectionFactory.Succeeded.Returns(true);
            connectionFactory.CreateConnection().Returns(Substitute.For <IConnection>());
            connectionFactory.CurrentHost.Returns(new HostConfiguration());
            connectionFactory.Configuration.Returns(new ConnectionConfiguration());

            eventBus = new EventBus();

            var logger = Substitute.For <IEasyNetQLogger>();
            var persistentConnectionFactory = new PersistentConnectionFactory(logger, connectionFactory, eventBus);

            var advancedBus = new RabbitAdvancedBus(
                connectionFactory,
                Substitute.For <IConsumerFactory>(),
                logger,
                Substitute.For <IClientCommandDispatcherFactory>(),
                Substitute.For <IPublishConfirmationListener>(),
                eventBus,
                Substitute.For <IHandlerCollectionFactory>(),
                Substitute.For <IContainer>(),
                Substitute.For <ConnectionConfiguration>(),
                Substitute.For <IProduceConsumeInterceptor>(),
                Substitute.For <IMessageSerializationStrategy>(),
                Substitute.For <IConventions>(),
                advancedBusEventHandlers,
                persistentConnectionFactory);
        }
        public void SetUp()
        {
            advancedBusEventHandlers = new AdvancedBusEventHandlers(
                connected: (s, e) => connectedCalled       = true,
                disconnected: (s, e) => disconnectedCalled = true,
                blocked: (s, e) =>
            {
                blockedCalled = true;
                connectionBlockedEventArgs = e;
            },
                unblocked: (s, e) => unBlockedCalled = true,
                messageReturned: (s, e) =>
            {
                messageReturnedCalled    = true;
                messageReturnedEventArgs = e;
            });

            var connectionFactory = MockRepository.GenerateStub <IConnectionFactory>();

            connectionFactory.Stub(x => x.Succeeded).Return(true);
            connectionFactory.Stub(x => x.CreateConnection()).Return(MockRepository.GenerateStub <IConnection>());
            connectionFactory.Stub(x => x.CurrentHost).Return(new HostConfiguration());
            connectionFactory.Stub(x => x.Configuration).Return(new ConnectionConfiguration());

            eventBus = new EventBus();

            var logger = MockRepository.GenerateStub <IEasyNetQLogger>();
            var persistentConnectionFactory = new PersistentConnectionFactory(logger, connectionFactory, eventBus);

            var advancedBus = new RabbitAdvancedBus(
                connectionFactory,
                MockRepository.GenerateStub <IConsumerFactory>(),
                logger,
                MockRepository.GenerateStub <IClientCommandDispatcherFactory>(),
                MockRepository.GenerateStub <IPublishConfirmationListener>(),
                eventBus,
                MockRepository.GenerateStub <IHandlerCollectionFactory>(),
                MockRepository.GenerateStub <IContainer>(),
                MockRepository.GenerateStub <ConnectionConfiguration>(),
                MockRepository.GenerateStub <IProduceConsumeInterceptor>(),
                MockRepository.GenerateStub <IMessageSerializationStrategy>(),
                MockRepository.GenerateStub <IConventions>(),
                advancedBusEventHandlers,
                persistentConnectionFactory);
        }
        public void SetUp()
        {
            advancedBusEventHandlers = new AdvancedBusEventHandlers(
                connected: (s, e) => connectedCalled = true,
                disconnected: (s, e) => disconnectedCalled = true,
                blocked: (s, e) =>
                {
                    blockedCalled = true;
                    connectionBlockedEventArgs = e;
                },
                unblocked: (s, e) => unBlockedCalled = true,
                messageReturned: (s, e) =>
                {
                    messageReturnedCalled = true;
                    messageReturnedEventArgs = e;
                });

            var connectionFactory = MockRepository.GenerateStub<IConnectionFactory>();
            connectionFactory.Stub(x => x.Succeeded).Return(true);
            connectionFactory.Stub(x => x.CreateConnection()).Return(MockRepository.GenerateStub<IConnection>());
            connectionFactory.Stub(x => x.CurrentHost).Return(new HostConfiguration());
            connectionFactory.Stub(x => x.Configuration).Return(new ConnectionConfiguration());

            eventBus = new EventBus();

            var advancedBus = new RabbitAdvancedBus(
                connectionFactory,
                MockRepository.GenerateStub<IConsumerFactory>(),
                MockRepository.GenerateStub<IEasyNetQLogger>(),
                MockRepository.GenerateStub<IClientCommandDispatcherFactory>(),
                MockRepository.GenerateStub<IPublishConfirmationListener>(),
                eventBus,
                MockRepository.GenerateStub<IHandlerCollectionFactory>(),
                MockRepository.GenerateStub<IContainer>(),
                MockRepository.GenerateStub<ConnectionConfiguration>(),
                MockRepository.GenerateStub<IProduceConsumeInterceptor>(),
                MockRepository.GenerateStub<IMessageSerializationStrategy>(),
                MockRepository.GenerateStub<IConventions>(),
                advancedBusEventHandlers);
        }
Beispiel #4
0
 private void Advanced_MessageReturned(object sender, MessageReturnedEventArgs e)
 {
     Console.WriteLine($"Message returned with reason {e.MessageReturnedInfo.ReturnReason}.");
 }
Beispiel #5
0
 private void returnmessage(object sender, MessageReturnedEventArgs age)
 {
     Log.WriteLog("Publish: 时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + " 错误信息:" + JsonConvert.SerializeObject(age.MessageBody) + "\r\n" + JsonConvert.SerializeObject(age.MessageReturnedInfo), (int)LogType.Rabbitmq);
      bus.Dispose();//与数据库connection类似,使用后记得销毁bus对象
     //是否经过了交换和路由,却找不到队列。
 }