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); }
private void Advanced_MessageReturned(object sender, MessageReturnedEventArgs e) { Console.WriteLine($"Message returned with reason {e.MessageReturnedInfo.ReturnReason}."); }
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对象 //是否经过了交换和路由,却找不到队列。 }