zoukankan      html  css  js  c++  java
  • elasticsearch单例模式连接 java

    import java.net.InetAddress;

    import org.elasticsearch.client.transport.TransportClient;
    import org.elasticsearch.common.settings.Settings;
    import org.elasticsearch.common.transport.InetSocketTransportAddress;
    import org.elasticsearch.transport.client.PreBuiltTransportClient;

    /**
     * @author zxy
     *es单例连接集群
     */
    public class ESConnect {
        
        public static TransportClient transportClient=null; //句柄
        public static String esClusterName;     //集群名
        public static String esServerIps;       //集群服务ip集合
        public static Integer esServerPort;     //Es集群端口
        
        @SuppressWarnings({ "resource", "unchecked" })
        public static TransportClient getTransPortClient(String esClusterNam,String esServerIp,Integer esServerPor){
            //连接ES transportClient获得句柄
                esClusterName = esClusterNam; // 集群名
                esServerIps = esServerIp; // 集群服务ip
                esServerPort = esServerPor; // Es集群端口
                try {
                    if (transportClient == null) {
                        if (esServerIps == null || "".equals(esServerIps.trim()))
                            return null;
                        Settings esSetting = Settings.builder().put("client.transport.ignore_cluster_name", true)
                                .put("cluster.name", esClusterName) // 集群名
                                .put("client.transport.sniff", true) // 自动嗅探,把机器添加到列表
                                .put("client.transport.ping_timeout", "10s")
                                .build();
                        transportClient = new PreBuiltTransportClient(esSetting).addTransportAddress(
                                new InetSocketTransportAddress(InetAddress.getByName(esServerIps), esServerPort));

                        System.out.println("connectok");
                        return transportClient;
                    } else{
                        System.out.println("hell11");
                        return transportClient;
                        }
                } catch (Exception e) {
                    e.printStackTrace();
                    if (transportClient != null)
                        transportClient.close();
                    System.out.println("hellk");
                    return null;
                }
            }

            public static void clientClose() {
                /* 关闭连接 */
                if (null != transportClient) {
                    try {
                        transportClient.close();
                    } catch (Exception e) {
                    }
                }
            }

    }

  • 相关阅读:
    查询oracle数据库里面所有的表名
    mysql 触发器 trigger用法 four
    mysql 触发器 trigger用法 three (稍微复杂的)
    mysql 触发器 trigger用法 two (稍微复杂的)
    腾讯云SSL证书+阿里云负载均衡实现https转https
    关于redis  WARNING overcommit_memory is set to 0 的问题解决
    腾讯云申请免费ssl证书(1年有效期)
    阿里云创建负载均衡
    Go语言循环语句
    Go语言条件语句
  • 原文地址:https://www.cnblogs.com/zengxiaoyi36/p/7679316.html
Copyright © 2011-2022 走看看