public void SerializerConfigTest()
        {
            ElasticSearchClusterConfig config     = ElasticSearchClusterConfig.Create();
            List <ESCluster>           esClusters = new List <ESCluster>();
            ESCluster defaultCluster = new ESCluster();

            defaultCluster.Name      = "Dev1";
            defaultCluster.Default   = true;
            defaultCluster.HttpNodes = new List <ESNode>()
            {
                new ESNode()
                {
                    Enabled = true, Host = "localhost", Port = 9200
                }
            };
            defaultCluster.ThriftNodes = new List <ESNode>()
            {
                new ESNode()
                {
                    Enabled = true, Host = "127.0.0.1", Port = 9500
                },
                new ESNode()
                {
                    Enabled = true, Host = "127.0.0.1", Port = 9500
                }
            };
            esClusters.Add(defaultCluster);

            ESCluster devCluster = new ESCluster();

            devCluster.Name      = "Dev2";
            devCluster.Default   = false;
            devCluster.HttpNodes = new List <ESNode>()
            {
                new ESNode()
                {
                    Enabled = true, Host = "localhost", Port = 9200
                }
            };
            devCluster.ThriftNodes = new List <ESNode>()
            {
                new ESNode()
                {
                    Enabled = true, Host = "127.0.0.1", Port = 9500
                },
            };
            esClusters.Add(devCluster);
            config.Clusters = esClusters;

            Console.Write(XMLUtility.Serialize(config));
        }
Beispiel #2
0
        public static ESNode TryGetHttpNode(string clusterName)
        {
            ESCluster cluster = ESClusterManager.TryGetESCluster(clusterName);

            if (cluster.HttpNodes == null || cluster.HttpNodes.Count <= 0)
            {
                throw new ESNodeNotFoundException(string.Format("cluster:{0} has no http nodes", clusterName));
            }
            if (cluster.HttpNodes.Count > 1)
            {
                return(cluster.HttpNodes[new Random().Next(cluster.HttpNodes.Count)]);
            }
            return(cluster.HttpNodes[0]);
        }