예제 #1
0
        private void BackFillDefaults()
        {
            if (_validated)
            {
                return;
            }

            LoggerFactory = LoggerFactory ?? new LoggerFactory();
            _serializer   = _serializer ?? new PayloadSerializer();
            _protector    = _protector ?? new PayloadProtector();
            _cronProvider = _cronProvider ?? new CronProvider();
            _resolver     = _resolver ?? new DependencyResolver(_services, GetConfiguredAssemblies());
            _dispatcher   = _dispatcher ?? new WorkDispatcher(_resolver);


            _services.Add(typeof(ILoggerFactory), LoggerFactory);
            _services.Add(typeof(IPayloadProtector), _protector);
            _services.Add(typeof(IPayloadSerializer), _serializer);
            _services.Add(typeof(IWorkDispatcher), _dispatcher);

            Validate();

            var logger = LoggerFactory.CreateLogger <QuidjiboBuilder>();

            logger.LogDebug("Work Factory : {WorkerFactory}", WorkProviderFactory.GetType().Name);
            logger.LogDebug("Schedule Factory : {ScheduleFactory}", ScheduleProviderFactory.GetType().Name);
            logger.LogDebug("Progress Factory : {ProgressFactory}", ProgressProviderFactory.GetType().Name);
            logger.LogDebug("Serializer : {Serializer}", _serializer.GetType().Name);
            logger.LogDebug("Protector : {Protector}", _protector.GetType().Name);
            logger.LogDebug("Cron : {Cron}", _cronProvider.GetType().Name);
            logger.LogDebug("Resolver: {Resolver}", _resolver.GetType().Name);
            logger.LogDebug("Dispatcher: {Dispatcher}", _dispatcher.GetType().Name);
        }