Ejemplo n.º 1
0
        static void Main()
        {
            Console.WriteLine("Starting Publisher");

            MsmqEndpointConfigurator.Defaults(config =>
            {
                config.CreateMissingQueues = true;
            });

            var container = new DefaultMassTransitContainer("windsor.xml");
            var bus = container.Resolve<IServiceBus>();

            string name;
            while((name = GetName()) != "q")
            {
                var message = new NewCustomerMessage {Name = name};
                bus.Publish(message);

                Console.WriteLine("Published NewCustomerMessage with name {0}", message.Name);
            }

            Console.WriteLine("Stopping Publisher");
            container.Release(bus);
            container.Dispose();
        }
Ejemplo n.º 2
0
		private void StartService()
		{
			StopService();

			try
			{
				
				_container = new DefaultMassTransitContainer("Server.Castle.xml");

				_bus = _container.Resolve<IServiceBus>("server");
				//_controlBus = _container.Resolve<IServiceBus>("control");

			    _container.AddComponent<UserAgentSession>();
			    _container.AddComponent<TheAnswerMan>();

				_bus.Subscribe<UserAgentSession>();
				_bus.Subscribe<TheAnswerMan>();

				messageTimer.Start();
			}
			catch (Exception ex)
			{
				_log.Error(ex);
				MessageBox.Show("The server failed to start:\n\n" + ex.Message);
			}
		}
Ejemplo n.º 3
0
        private static void ConfigureHealthService(IServiceConfigurator<HealthService> configurator)
        {
            configurator.CreateServiceLocator(() =>
                {
                    var container = new DefaultMassTransitContainer();

                    container.AddComponent<HealthService>(typeof (HealthService).Name);
                    container.AddComponent("sagaRepository", typeof (ISagaRepository<>), typeof (InMemorySagaRepository<>));

                    var endpointFactory = EndpointFactoryConfigurator.New(x =>
                        {
                            // the default
                            x.SetObjectBuilder(container.Resolve<IObjectBuilder>());
                            x.RegisterTransport<MsmqEndpoint>();
                        });

                    container.Kernel.AddComponentInstance("endpointFactory", typeof (IEndpointFactory), endpointFactory);

                    var bus = ServiceBusConfigurator.New(x =>
                        {
                            x.SetObjectBuilder(container.Resolve<IObjectBuilder>());
                            x.ReceiveFrom("msmq://localhost/mt_health");
                            x.ConfigureService<SubscriptionClientConfigurator>(client =>
                                {
                                    // need to add the ability to read from configuratino settings somehow
                                    client.SetSubscriptionServiceEndpoint("msmq://localhost/mt_subscriptions");
                                });
                        });

                    container.Kernel.AddComponentInstance("bus", typeof (IServiceBus), bus);

                    return container.Resolve<IObjectBuilder>();
                });

            configurator.WhenStarted(service => { service.Start(); });

            configurator.WhenStopped(service =>
                {
                    service.Stop();
                    service.Dispose();
                });
        }
Ejemplo n.º 4
0
		private static void ConfigureSubscriptionService(IServiceConfigurator<SubscriptionService> configurator)
		{
			configurator.CreateServiceLocator(() =>
				{
					var container = new DefaultMassTransitContainer();

					container.AddComponent("sagaRepository", typeof (ISagaRepository<>), typeof (InMemorySagaRepository<>));

					container.AddComponent<ISubscriptionRepository, InMemorySubscriptionRepository>();
					container.AddComponent<SubscriptionService, SubscriptionService>(typeof (SubscriptionService).Name);

					var endpointFactory = EndpointFactoryConfigurator.New(x =>
						{
							// the default
							x.SetObjectBuilder(container.Resolve<IObjectBuilder>());
							x.RegisterTransport<MsmqEndpoint>();
						});

					container.Kernel.AddComponentInstance("endpointFactory", typeof (IEndpointFactory), endpointFactory);

					var bus = ServiceBusConfigurator.New(servicesBus =>
						{
							servicesBus.SetObjectBuilder(container.Resolve<IObjectBuilder>());
							servicesBus.ReceiveFrom("msmq://localhost/mt_subscriptions");
							servicesBus.SetConcurrentConsumerLimit(1);
						});

					container.Kernel.AddComponentInstance("bus", typeof (IServiceBus), bus);

				    return container.ObjectBuilder;
				});

			configurator.WhenStarted(service => service.Start());

			configurator.WhenStopped(service =>
				{
					service.Stop();
					service.Dispose();
				});
		}
Ejemplo n.º 5
0
        protected void Application_Start(object sender, EventArgs e)
        {
            XmlConfigurator.Configure();

            _container = new DefaultMassTransitContainer(Server.MapPath("/web-castle.config"));

			Configuration _cfg = new Configuration().Configure();

			_cfg.AddAssembly(typeof(NHibernateRepositoryFactory).Assembly);

			ISessionFactory _sessionFactory = _cfg.BuildSessionFactory();

			LocalContext.Current.Store(_sessionFactory);

			NHibernateUnitOfWork.SetSessionProvider(_sessionFactory.OpenSession);

			UnitOfWork.SetUnitOfWorkProvider(NHibernateUnitOfWork.Create);

			_container.Kernel.AddComponentInstance<IRepositoryFactory>(NHibernateRepositoryFactory.Configure(x => { }));

            DomainContext.Initialize(_container.Resolve<IServiceBus>("client"), _container.Resolve<IObjectBuilder>());
        }
Ejemplo n.º 6
0
        static void Main()
        {
            Console.WriteLine("Starting Subscriber, hit return to quit");

            MsmqEndpointConfigurator.Defaults(config =>
                {
                    config.CreateMissingQueues = true;
                });

            var container = new DefaultMassTransitContainer("windsor.xml")
                .Register(
                    Component.For<NewCustomerMessageConsumer>().LifeStyle.Transient
                );

            var bus = container.Resolve<IServiceBus>();
            var consumer = container.Resolve<NewCustomerMessageConsumer>();
            consumer.Start(bus);

            Console.ReadLine();
            Console.WriteLine("Stopping Subscriber");
            consumer.Stop();
            container.Dispose();
        }
Ejemplo n.º 7
0
		private static void Main(string[] args)
		{
			_log.Info("SubscriptionManagerGUI Loading...");

			var cfg = RunnerConfigurator.New(x =>
				{
					x.SetServiceName("SubscriptionManagerGUI");
					x.SetDisplayName("Sample GUI Subscription Service");
					x.SetDescription("Coordinates subscriptions between multiple systems");
					x.DependencyOnMsmq();
					x.RunAsLocalSystem();
					x.UseWinFormHost<SubscriptionManagerForm>();

					x.BeforeStartingServices(s =>
						{
							var container = new DefaultMassTransitContainer();

							IEndpointFactory endpointFactory = EndpointFactoryConfigurator.New(e =>
								{
									e.SetObjectBuilder(container.Resolve<IObjectBuilder>());
									e.RegisterTransport<MsmqEndpoint>();
								});
							container.Kernel.AddComponentInstance("endpointFactory", typeof (IEndpointFactory), endpointFactory);

							container.AddComponent<SubscriptionManagerForm>();

							var wob = new WindsorObjectBuilder(container.Kernel);
							ServiceLocator.SetLocatorProvider(() => wob);
						});

					x.ConfigureService<SubscriptionService>(typeof(SubscriptionService).Name, ConfigureSubscriptionService);

					x.ConfigureService<TimeoutService>(typeof(TimeoutService).Name, ConfigureTimeoutService);

					x.ConfigureService<HealthService>(typeof(HealthService).Name, ConfigureHealthService);
				});
			Runner.Host(cfg, args);
		}
Ejemplo n.º 8
0
        private void StartClient()
        {
            StopClient();

            try
            {
                _container = new DefaultMassTransitContainer("Client.Castle.xml");

                _bus = _container.Resolve<IServiceBus>("client");

                _container.AddComponent<TimeoutWatcher>();
                _bus.Subscribe<TimeoutWatcher>();
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                MessageBox.Show("The client failed to start:\n\n" + ex.Message);
            }
        }
Ejemplo n.º 9
0
        private static void Main(string[] args)
        {
            _log.Info("subscription_mgr Loading...");

                Console.WriteLine("MSMQ Subscription Service");
                var cfg = RunnerConfigurator.New(c =>
                {
                    c.SetServiceName("subscription_mgr");
                    c.SetDisplayName("Subscription Service");
                    c.SetDescription("Coordinates subscriptions between multiple systems");
                    c.DependencyOnMsmq();
                    c.RunAsLocalSystem();

                    c.BeforeStartingServices(s =>
                    {
                        var container = new DefaultMassTransitContainer();

                        IEndpointFactory endpointFactory = EndpointFactoryConfigurator.New(e =>
                        {
                            e.SetObjectBuilder(container.Resolve<IObjectBuilder>());
                            e.RegisterTransport<MsmqEndpoint>();
                        });
                        container.Kernel.AddComponentInstance("endpointFactory", typeof(IEndpointFactory), endpointFactory);

                        _wob = new WindsorObjectBuilder(container.Kernel);
                        ServiceLocator.SetLocatorProvider(() => _wob);

                    });

                    c.ConfigureService<SubscriptionService>(ConfigureSubscriptionService);

                    c.ConfigureService<TimeoutService>(ConfigureTimeoutService);

                    c.ConfigureService<HealthService>(ConfigureHealthService);

                });
                try
                {
                    Runner.Host(cfg, args);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error trying to run service: " + ex);
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
        }