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(); }); }
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(); }); }
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(); }); }
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(); }); }