Ejemplo n.º 1
0
        public override bool OnStart()
        {
            // Not sure what this should be. Hopefully storage over smb doesn't open a million connections
            ServicePointManager.DefaultConnectionLimit = 12;

            var settings = ElasticsearchServiceSettings.FromStorage(storage);
            service = ElasticsearchService.FromSettings(settings);
            bool result = base.OnStart();

            Trace.TraceInformation("ElasticsearchRole has been started");

            return result;
        }
Ejemplo n.º 2
0
        public static ElasticsearchService FromSettings(IElasticsearchServiceSettings settings)
        {
            var service = new ElasticsearchService()
            {
                _Settings         = settings,
                _Bridge           = new TcpRuntimeBridge(settings.EndpointName),
                _JavaManager      = new JavaManager(settings),
                _BootstrapService = new DataBootstrapService(settings)
            };

            string dataPath;

            //Use local storage for emulator and
            if (!settings.IsEmulated && settings.UseElasticLocalDataFolder.ToLower() != "true")
            {
                // Mount a drive for a CloudFileShare.
                Trace.WriteLine("Configuring file Share");
                var share = settings.StorageAccount.CreateCloudFileClient()
                            .GetShareReference(settings.DataShareName);
                share.CreateIfNotExists();

                Trace.WriteLine("Mapping Share to " + settings.DataShareDrive);
                share.Mount(settings.DataShareDrive);
                dataPath = settings.DataShareDrive;
            }
            else
            {
                dataPath = settings.DataDirectory;
            }

            service._ElasticsearchManager = new ElasticsearchManager(settings, dataPath, service._Bridge.Port);

            if (!string.IsNullOrWhiteSpace(settings.ElasticsearchPluginContainer))
            {
                service._ElasticsearchManager.AddPluginSource(settings.ElasticsearchPluginContainer, settings.StorageAccount);
            }


            return(service);
        }
        public static ElasticsearchService FromSettings(IElasticsearchServiceSettings settings)
        {
            var service = new ElasticsearchService()
            {
                _Settings = settings,
                _Bridge = new PipesRuntimeBridge(settings.EndpointName),
                _JavaManager = new JavaManager(settings),
                _BootstrapService = new DataBootstrapService(settings)
            };

            string dataPath;
            //Use local storage for emulator and
            if (!settings.IsEmulated && settings.UseElasticLocalDataFolder.ToLower() != "true")
            {
                // Mount a drive for a CloudFileShare.
                Trace.WriteLine("Configuring file Share");
                var share = settings.StorageAccount.CreateCloudFileClient()
                    .GetShareReference(settings.DataShareName);
                share.CreateIfNotExists();

                Trace.WriteLine("Mapping Share to " + settings.DataShareDrive);
                share.Mount(settings.DataShareDrive);
                dataPath = settings.DataShareDrive;

            }
            else
            {
                dataPath = settings.DataDirectory;
            }

            service._ElasticsearchManager = new ElasticsearchManager(settings, dataPath, service._Bridge.PipeName);

            if (!string.IsNullOrWhiteSpace(settings.ElasticsearchPluginContainer))
            {
                service._ElasticsearchManager.AddPluginSource(settings.ElasticsearchPluginContainer, settings.StorageAccount);
            }

            return service;
        }