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) {
                    }
                }
            }

    }

  • 相关阅读:
    如何将javaweb项目部署到阿里云服务器上
    解决ueditor配置文件第一行报错及乱码问题
    解决web.xml中<async-supported>true</async-supported>报错问题
    解决建完Maven项目没有main文件夹问题
    CentOS常用命令之搜索文件
    CentOS常用命令之创建删除剪切链接
    Jupyter notebook: TypeError: __init__() got an unexpected keyword argument 'io_loop 问题
    编译分布式并行版caffe(Open MPI)教程
    树状数组
    马拉车算法
  • 原文地址:https://www.cnblogs.com/zengxiaoyi36/p/7679316.html
Copyright © 2011-2022 走看看