public PlatformConnectionUpdateHandler(IAppManager appManager, IPlatformDataManager platformDataManager,
                                        IDocumentStore documentStore, IOptions <RebusConfiguration> rebusOptions,
                                        IBus bus, IMessageContext messageContext, ILogger <PlatformConnectionUpdateHandler> logger)
 {
     _appManager          = appManager;
     _platformDataManager = platformDataManager;
     _documentStore       = documentStore;
     _rebusConfiguration  = rebusOptions.Value;
     _bus            = bus;
     _messageContext = messageContext;
     _logger         = logger;
 }
Beispiel #2
0
 public FetchDataForPlatformConnectionHandler(IFreelancerDataFetcher freelancerDataFetcher,
                                              IGigPlatformDataFetcher gigPlatformDataFetcher, IOptions <RebusConfiguration> rebusOptions,
                                              IDocumentStore documentStore, IBus bus, IMessageContext messageContext,
                                              ILogger <FetchDataForPlatformConnectionHandler> logger)
 {
     _freelancerDataFetcher  = freelancerDataFetcher;
     _gigPlatformDataFetcher = gigPlatformDataFetcher;
     _rebusConfiguration     = rebusOptions.Value;
     _documentStore          = documentStore;
     _bus            = bus;
     _messageContext = messageContext;
     _logger         = logger;
 }
Beispiel #3
0
        protected void Application_Start()
        {
            SetupLogging();
            log.InfoFormat("Application starting");

            AreaRegistration.RegisterAllAreas();
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            container = new ContainerInitialiser().Create();
            RebusConfiguration.Init(container);
        }
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            // Setup config
            var defaultConnection = Configuration.GetConnectionString("DefaultConnection");
            var rebusConfig       = new RebusConfiguration(
                Configuration["Rebus:Transport"],
                Configuration["Rebus:Subscription"],
                Configuration["Rebus:DefaultQueue"]);

            // Configure and register Rebus
            services.AddRebus(configure => configure
                              .Logging(l => l.Console())
                              .Transport(t => t.UseSqlServer(defaultConnection, rebusConfig.Transport, rebusConfig.Transport))
                              .Subscriptions(s => s.StoreInSqlServer(defaultConnection, rebusConfig.Subscription)));

            services.AddMvc();
        }
Beispiel #5
0
        static void Main()
        {
            LogUtility.Initialise();
            log = LogUtility.ForCurrentType();

            var autoResetEvent = new AutoResetEvent(false);

            Console.CancelKeyPress += (sender, eventArgs) =>
            {
                // cancel the cancellation to allow the program to shutdown cleanly
                eventArgs.Cancel = true;
                autoResetEvent.Set();
            };

            using (var container = new ContainerInitialiser().Create())
            {
                RebusConfiguration.Init(container);
                Console.WriteLine("Application has started. Ctrl-C to end");
                autoResetEvent.WaitOne();
                log.InfoFormat("Shutting down service");
            }
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            // 0. Setup configuration
            var configuration = new ConfigurationBuilder()
                                .SetBasePath(Directory.GetCurrentDirectory())
                                .AddJsonFile("appsettings.json")
                                .Build();

            var defaultConnection = configuration.GetConnectionString("DefaultConnection");
            var rebusConfig       = new RebusConfiguration(
                configuration["Rebus:Transport"],
                configuration["Rebus:Subscription"],
                configuration["Rebus:DefaultQueue"]);

            // 1. Service registration pipeline...
            var services = new ServiceCollection();

            services.AutoRegisterHandlersFromAssemblyOf <MessageHandler>();

            // 1.1. Configure Rebus
            services.AddRebus(configure => configure
                              .Logging(l => l.None())
                              .Transport(t => t.UseSqlServer(defaultConnection, rebusConfig.Transport, rebusConfig.DefaultQueue))
                              .Subscriptions(s => s.StoreInSqlServer(defaultConnection, rebusConfig.Subscription))
                              .Routing(r => r.TypeBased().Map <MessageTransport>(rebusConfig.DefaultQueue)));

            // 2. Application starting pipeline...
            var provider = services.BuildServiceProvider();

            provider.UseRebus();

            var bus = provider.GetRequiredService <IBus>();

            Task.WaitAll(bus.Subscribe <MessageTransport>());

            Console.ReadKey();
        }
Beispiel #7
0
        static void Main()
        {
            LogUtility.Initialise();
            log = LogUtility.ForCurrentType();

            var autoResetEvent = new AutoResetEvent(false);

            Console.CancelKeyPress += (sender, eventArgs) =>
            {
                // cancel the cancellation to allow the program to shutdown cleanly
                eventArgs.Cancel = true;
                autoResetEvent.Set();
            };


            using (var container = new ContainerInitialiser().Create())
            {
                RebusConfiguration.Init(container);
                Console.WriteLine("Application has started. Ctrl-C to end");
                autoResetEvent.WaitOne();
                log.InfoFormat("Shutting down service");
            }

            using (var container = new ContainerInitialiser().Create())
            {
                log.DebugFormat("Initialised container");
                var starter = container.Resolve <IBusStarter>();
                starter.Start();

                DomainEvents.Configure(e => starter.Bus.Publish(e));

                // main blocks here waiting for ctrl-C
                autoResetEvent.WaitOne();
                log.InfoFormat("Shutting down");
            }
        }