Пример #1
0
        static void Main(string[] args)
        {
            var container = new Container(new ContainerConfiguration(AssembliesLoader.Load()));

            container.Configure();
            logger = Log.Logger.ForContext <EntryPoint>();
            for (var i = 0; i <= 10; i++)
            {
                try
                {
                    container.Get <CustomerAndStaffCassandraSchemaActualizer>().Actualize();
                    Log.CloseAndFlush();
                    break;
                }
                catch (NoHostAvailableException)
                {
                    logger.Error("Cassandra host not available");
                    if (i == 10)
                    {
                        logger.Error("Impossible to aclualize schema: cassandra host not available");
                        Log.CloseAndFlush();
                        Environment.Exit(1);
                    }

                    Thread.Sleep(1000);
                }
                catch (Exception e)
                {
                    logger.Error(e, "unexpected exception while actualize cassandra");
                    Log.CloseAndFlush();
                    Environment.Exit(1);
                }
            }
        }
Пример #2
0
 static void LoadPlugins()
 {
     // 20150617
     // var pluginsLoader = new AssembliesLoader((new TmxServerRootPathProvider()).GetRootPath() + @"\Plugins");
     // var pluginsLoader = new ModulesLoader((new TmxServerRootPathProvider()).GetRootPath() + @"\Plugins", "*.dll", true);
     // 20150626
     var pluginsLoader = new AssembliesLoader((new TmxServerRootPathProvider()).GetRootPath() + @"\Plugins", "*.dll", true);
     // var pluginsLoader = new AssembliesLoader((new TmxServerRootPathProvider()).GetRootPath(), "*.dll", true);
     pluginsLoader.Load();
 }
Пример #3
0
        static void LoadPlugins()
        {
            var clientAssembly   = (AppDomain.CurrentDomain.GetAssemblies().First(asm => asm.FullName.Contains("Tmx.Client")));
            var clientFolderPath = clientAssembly.Location.Substring(0, clientAssembly.Location.LastIndexOf('\\'));

            // 20150617
            var pluginsLoader = new AssembliesLoader(clientFolderPath + @"\Plugins", "*.dll", true);

            // var pluginsLoader = new modulesloa(clientFolderPath + @"\Plugins", "*.dll");
            pluginsLoader.Load();
        }
Пример #4
0
        public SqlDbContext CreateDbContext(string[] args)
        {
            var container            = new Container(new ContainerConfiguration(AssembliesLoader.Load(), nameof(TestSqlDatabaseContextFactory), ContainerMode.UseShortLog));
            var vostokLoggerProvider = new VostokLoggerProvider(new ConsoleLog());

            container.Configurator.ForAbstraction <ILoggerFactory>().UseInstances(new LoggerFactory(new[] { vostokLoggerProvider }));
            var sqlDbContextSettings = new TestSqlDbContextSettings(WithTestSqlStorage.DbName, WithTestSqlStorage.TestSqlEntitiesRegistry, WithTestSqlStorage.MigrationsAssembly);

            container.Configurator.ForAbstraction <ISqlDbContextSettings>().UseInstances(sqlDbContextSettings);
            return(container.Get <SqlDbContext>());
        }
        public void ConfigureContainer()
        {
            Container = new Container(new ContainerConfiguration(AssembliesLoader.Load()));
            Container.Configurator.ForAbstraction <IApplicationSettings>().UseInstances(Settings);
            Container.Configurator.ForAbstraction <IStatsDClient>().UseInstances(Container.Get <StatsDClientFactory>().Create());

            Container.Configurator.ForAbstraction <ILog>().UseInstances(Logger);
            Container.Configurator.ForAbstraction <ILogger>().UseInstances(Log.Logger);

            Container.ConfigureRepositories();
        }
Пример #6
0
        public static void Main(string[] args)
        {
            var container = new Container(new ContainerConfiguration(AssembliesLoader.Load()));
            var settings  = ApplicationSettings.LoadDefault("godLikeTools.csf");

            container.Configurator.ForAbstraction <IApplicationSettings>().UseInstances(settings);
            container.ConfigureRepositories();

            var logger = new SerilogLog(SerilogConfigurator.ConfigureLogger(settings.GetString("LogDirectory")).WithConsole().CreateLogger());

            container.Configurator.ForAbstraction <ILog>().UseInstances(logger);

            var commandLine = new CommandLine(args);
            var command     = commandLine.GetCommandLineSetting("-mode");

            var processorTypes = Assembly.GetExecutingAssembly()
                                 .GetTypes()
                                 .Where(x => typeof(ICommandProcessor).IsAssignableFrom(x))
                                 .ToArray();

            var processorsGroup = processorTypes.GroupBy(x => x.Name).FirstOrDefault(group => group.Count() > 1);

            if (processorsGroup != null)
            {
                throw new Exception("Some processors have same command descriptions: " + processorsGroup.First().Name);
            }

            var processorType = processorTypes.SingleOrDefault(x => x.Name == command);

            if (processorType == null)
            {
                throw new BadCommandLineException("The list of available commands: " +
                                                  string.Join(", ", processorTypes.Select(p => p.Name)));
            }

            var processor = (ICommandProcessor)container.Get(processorType);

            processor.Run(commandLine);
            container.Dispose();
            logger.Info($"GodLikeTool Processor in mode '{command}' completed");
        }
Пример #7
0
 public static ContainerConfiguration GetContainerConfiguration(string testSuiteName)
 {
     return(new ContainerConfiguration(AssembliesLoader.Load(), testSuiteName, ContainerMode.UseShortLog));
 }
 public static ContainerConfiguration GetContainerConfiguration(string testSuiteName)
 {
     return(new ContainerConfiguration(AssembliesLoader.Load()));
 }
Пример #9
0
 private void ConfigureContainer()
 {
     container = new Container(new ContainerConfiguration(AssembliesLoader.Load()));
     container.Configurator.ForAbstraction <IApplicationSettings>().UseInstances(settings);
     ConfigureContainerForChildServices();
 }