Example #1
0
        public void InitializeBus()
        {
            consumerContainer = new SimpleConsumerContainer();

            Bus = new RogerBus(ConnectionFactory,
                               consumerContainer,
                               idGenerator: IdGenerator,
                               sequenceGenerator: SequenceGenerator,
                               options: new RogerOptions(prefetchCount: null /*no safety nets during tests*/));

            Bus.Filters.Add(MessageFilters.ToArray());

            localConnection = Helpers.CreateConnection();
            TestModel = localConnection.CreateModel();
            TestModel.ExchangeDeclare("TestExchange",
                                      ExchangeType.Topic,
                                      true /* to have the exchange there when restarting broker app within tests */,
                                      false,
                                      null);

            BeforeBusInitialization();

            Bus.Start();

            AfterBusInitialization();
        }
Example #2
0
        public void InitializeBus()
        {
            consumerContainer = new SimpleConsumerContainer();

            Bus = new RogerBus(ConnectionFactory,
                               consumerContainer,
                               idGenerator: IdGenerator,
                               sequenceGenerator: SequenceGenerator,
                               options: new RogerOptions(prefetchCount: null /*no safety nets during tests*/));

            Bus.Filters.Add(MessageFilters.ToArray());

            localConnection = Helpers.CreateConnection();
            TestModel       = localConnection.CreateModel();
            TestModel.ExchangeDeclare("TestExchange",
                                      ExchangeType.Topic,
                                      true /* to have the exchange there when restarting broker app within tests */,
                                      false,
                                      null);

            BeforeBusInitialization();

            Bus.Start();

            AfterBusInitialization();
        }
Example #3
0
        public void Start(WaitHandle waitHandle)
        {
            var connectionFactory = new DefaultConnectionFactory(Constants.HostName);

            PublisherConfirmsProvider.DeclareExchange(connectionFactory);

            var bus = new RogerBus(connectionFactory);
            bus.Start();
            StartPublishing(bus, waitHandle);
        }
Example #4
0
        public void Start(WaitHandle waitHandle)
        {
            var connectionFactory = new DefaultConnectionFactory(Constants.HostName);

            PublisherConfirmsProvider.DeclareExchange(connectionFactory);

            var bus = new RogerBus(connectionFactory);

            bus.Start();
            StartPublishing(bus, waitHandle);
        }
Example #5
0
        public void Start(WaitHandle waitHandle)
        {
            var connectionFactory = new DefaultConnectionFactory(Constants.HostName);

            PublisherConfirmsProvider.DeclareExchange(connectionFactory);
            var bus = new RogerBus(connectionFactory, new SimpleConsumerContainer(new PublisherConfirmsConsumer()));
            bus.Start();

            waitHandle.WaitOne();

            bus.Dispose();
        }
Example #6
0
        protected override void AfterBusInitialization()
        {
            secondaryConsumerContainer = new SimpleConsumerContainer();

            BeforeSecondaryBusInitialization();

            SecondaryBus = new RogerBus(new ManualConnectionFactory(Helpers.CreateConnectionOnAlternativePort),
                                        secondaryConsumerContainer, options: new RogerOptions(prefetchCount: null));

            SecondaryBus.Start();

            AfterSecondaryBusInitialization();
        }
Example #7
0
        public void Start(WaitHandle waitHandle)
        {
            var connectionFactory = new DefaultConnectionFactory(Constants.HostName);

            PublisherConfirmsProvider.DeclareExchange(connectionFactory);
            var bus = new RogerBus(connectionFactory, new SimpleConsumerContainer(new PublisherConfirmsConsumer()));

            bus.Start();

            waitHandle.WaitOne();

            bus.Dispose();
        }
Example #8
0
        protected override void AfterBusInitialization()
        {
            secondaryConsumerContainer = new SimpleConsumerContainer();

            BeforeSecondaryBusInitialization();

            SecondaryBus = new RogerBus(new ManualConnectionFactory(Helpers.CreateConnectionOnAlternativePort),
                                        secondaryConsumerContainer, options: new RogerOptions(prefetchCount: null));

            SecondaryBus.Start();

            AfterSecondaryBusInitialization();
        }
Example #9
0
        public void Start_should_be_idempotent_on_an_already_started_bus()
        {
            var connectionFactory = Substitute.For<IConnectionFactory>();
            var connection = Substitute.For<IConnection>();
            connectionFactory.CreateConnection().Returns(connection);
            var model = Substitute.For<IModel>();
            connection.CreateModel().Returns(model);
            model.QueueDeclare("", false, false, false, null).ReturnsForAnyArgs(new QueueDeclareOk("", 0, 0));

            var bus = new RogerBus(connectionFactory);

            bus.Start();
            bus.Start();

            connectionFactory.Received(1).CreateConnection();

            bus.Dispose();
        }
Example #10
0
        public void Start_should_be_idempotent_on_an_already_started_bus()
        {
            var connectionFactory = Substitute.For <IConnectionFactory>();
            var connection        = Substitute.For <IConnection>();

            connectionFactory.CreateConnection().Returns(connection);
            var model = Substitute.For <IModel>();

            connection.CreateModel().Returns(model);
            model.QueueDeclare("", false, false, false, null).ReturnsForAnyArgs(new QueueDeclareOk("", 0, 0));

            var bus = new RogerBus(connectionFactory);

            bus.Start();
            bus.Start();

            connectionFactory.Received(1).CreateConnection();

            bus.Dispose();
        }
Example #11
0
        protected override void Configure()
        {
            container = new CompositionContainer(
                new AggregateCatalog(AssemblySource.Instance.Select(x => new AssemblyCatalog(x))));

            var consumerResolver = new SimpleConsumerContainer();

            connectionFactory = new DefaultConnectionFactory("localhost");
            var bus = new RogerBus(connectionFactory, consumerResolver, exchangeResolver: new StaticExchangeResolver("RabbusChat"));

            var batch = new CompositionBatch();

            batch.AddExportedValue <IWindowManager>(new WindowManager());
            batch.AddExportedValue <IEventAggregator>(new EventAggregator());
            batch.AddExportedValue(container);
            batch.AddExportedValue <IRabbitBus>(bus);

            container.Compose(batch);

            consumerResolver.Register(container.GetExportedValue <ShellViewModel>());
        }
Example #12
0
        static void Main(string[] args)
        {
            var connectionFactory = new DefaultConnectionFactory("localhost");

            using (var connection = connectionFactory.CreateConnection())
            {
                var model = connection.CreateModel();

                model.ExchangeDeclare("RabbusChat", ExchangeType.Topic, false);
            }

            var consumerContainer = new SimpleConsumerContainer();

            var bus  = new RogerBus(connectionFactory, consumerContainer, exchangeResolver: new StaticExchangeResolver("RabbusChat"));
            var chat = new ChatServer(bus);

            consumerContainer.Register(chat);

            bus.Start();

            Console.ReadLine();

            bus.Dispose();
        }
Example #13
0
        static void Main(string[] args)
        {
            var connectionFactory = new DefaultConnectionFactory("localhost");

            using(var connection = connectionFactory.CreateConnection())
            {
                var model = connection.CreateModel();

                model.ExchangeDeclare("RabbusChat", ExchangeType.Topic, false);
            }

            var consumerContainer = new SimpleConsumerContainer();

            var bus = new RogerBus(connectionFactory, consumerContainer, exchangeResolver: new StaticExchangeResolver("RabbusChat"));
            var chat = new ChatServer(bus);

            consumerContainer.Register(chat);

            bus.Start();

            Console.ReadLine();

            bus.Dispose();
        }