Example #1
0
        public void InitializeHostedService(IServiceConfigurator <object> cfg)
        {
            cfg.HowToBuildService(serviceBuilder => new object());

            cfg.WhenStarted(a => { Started.Release(); });
            cfg.WhenStopped(a => { Stopped.Release(); });
        }
        public void InitializeHostedService(IServiceConfigurator <DirectoryMonitor> cfg)
        {
            cfg.ConstructUsing((d, name, channel) => new DirectoryMonitor(GetServicesDirectory(), channel));

            cfg.WhenStarted(dm => dm.Start());
            cfg.WhenStopped(dm => dm.Stop());
        }
Example #3
0
        public void InitializeHostedService(IServiceConfigurator <InProcessKlingerWebServer> cfg)
        {
            var repo = new EnvironmentValidatorRepository();

            cfg.HowToBuildService(name => new InProcessKlingerWebServer(8008, repo));
            cfg.WhenStarted(s => s.Start());
            cfg.WhenStopped(s => s.Stop());
        }
 public override void InitializeHostedService(IServiceConfigurator <IServerStart> cfg)
 {
     cfg.HowToBuildService(f => Container.Resolve <IServerStart>());
     cfg.Named("QUADAutomotive Service");
     cfg.WhenStarted(c => c.Start());
     cfg.WhenStopped(c => c.Stop());
     cfg.WhenPaused(c => c.Pause());
     cfg.WhenContinued(c => c.Continue());
 }
Example #5
0
 public void InitializeHostedService(IServiceConfigurator <TheClock> cfg)
 {
     cfg.HowToBuildService(n => new TheClock());
     cfg.WhenStarted(s =>
     {
         XmlConfigurator.Configure(new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "clock.log4net.config")));
         s.Start();
     });
     cfg.WhenStopped(s => s.Stop());
 }
        public void InitializeHostedService(IServiceConfigurator <BottleService> cfg)
        {
            if (cfg == null)
            {
                throw new ArgumentNullException("cfg");
            }

            cfg.HowToBuildService(name => new BottleService());
            cfg.WhenStarted(s => s.Start());
            cfg.WhenStopped(s => s.Stop());
        }
        public void InitializeHostedService([NotNull] IServiceConfigurator <DirectoryMonitor> cfg)
        {
            if (cfg == null)
            {
                throw new ArgumentNullException("cfg");
            }

            cfg.ConstructUsing((d, name, channel) => new DirectoryMonitor(GetServicesDirectory(), channel));

            cfg.WhenStarted(dm => dm.Start());
            cfg.WhenStopped(dm => dm.Stop());
        }
Example #8
0
        private static void ConfigureService <TService, TRegistry>(IServiceConfigurator <TService> service, Action <TService> start, Action <TService> stop)
            where TRegistry : Registry
        {
            var registry = FastActivator <TRegistry> .Create(ObjectFactory.Container);

            ObjectFactory.Configure(cfg =>
            {
                cfg.For <IConfiguration>().Singleton().Use <Configuration>();
                cfg.AddRegistry(registry);
            });
            service.HowToBuildService(builder => ObjectFactory.GetInstance <TService>());

            service.WhenStarted(start);
            service.WhenStopped(stop);
        }
Example #9
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();
                });
        }
Example #10
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();
            });
        }
Example #11
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();
            });
        }
Example #12
0
        private static void ConfigureService <TService, TRegistry>(IServiceConfigurator <TService> service, Action <TService> start, Action <TService> stop)
            where TRegistry : Registry
        {
            var container = new Container(x =>
            {
                x.For <IConfiguration>()
                .Singleton()
                .Add <Configuration>();

                x.For <TService>()
                .Singleton()
                .Use <TService>();
            });

            TRegistry registry = FastActivator <TRegistry> .Create(container);

            container.Configure(x => x.AddRegistry(registry));

            service.HowToBuildService(builder => container.GetInstance <TService>());
            service.WhenStarted(start);
            service.WhenStopped(stop);
        }
Example #13
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();
                });
        }
 public void InitializeHostedService(IServiceConfigurator <RRServer> cfg)
 {
     cfg.HowToBuildService(s => new RRServer());
     cfg.WhenStarted(s => s.Start());
     cfg.WhenStopped(s => s.Stop());
 }
Example #15
0
 public void InitializeHostedService(IServiceConfigurator <BottleService> cfg)
 {
     cfg.HowToBuildService(name => new BottleService());
     cfg.WhenStarted(s => s.Start());
     cfg.WhenStopped(s => s.Stop());
 }