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;

/**
 * ES连接类
 * @author zxy
 *
 */
public class ES_DbUtil {
    
    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) {
                }
            }
        }

}

elasticsearch单例模式连接的更多相关文章

  1. elasticsearch head 连接不到elasticsearch

    配置好head后看到没有正常连接到elasticsearch.  重启后效果:

  2. php设计模式--单例模式

    单例模式(Singleton Pattern 单件模式或单元素模式) 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 单例模式是一种常见的设计模式,在计算机系统中,线程池.缓 ...

  3. Elasticsearch就这么简单

    一.前言 最近有点想弄一个站内搜索的功能,之前学过了Lucene,后来又听过Solr这个名词.接着在了解全文搜索的时候就发现了Elasticsearch这个,他也是以Lucene为基础的. 我去搜了几 ...

  4. Kubernetes fluentd+elasticsearch+kibana

    前提:dns服务,k8s集群 下载kubernetes,并解压 https://github.com/kubernetes/kubernetes/releases tar zxvf kubernete ...

  5. Elasticsearch High Level Rest Client 发起请求的过程分析

    本文讨论的是JAVA High Level Rest Client向ElasticSearch6.3.2发送请求(index操作.update.delete--)的一个详细过程的理解,主要涉及到Res ...

  6. Elasticsearch+Mongo亿级别数据导入及查询实践

    数据方案: 在Elasticsearch中通过code及time字段查询对应doc的mongo_id字段获得mongodb中的主键_id 通过获得id再进入mongodb进行查询   1,数据情况: ...

  7. 使用 opendistro for elasticsearch 做为graylog的后端存储

    graylog 是一个很不错的日志分析.收集.报警平台,包好了丰富的插件,同时内部的架构设计很不错 input 组件很多,使用stream.pipeline可以方便的进行数据处理,可以同时3.0 对于 ...

  8. 浅谈Mybatis连接原理

    众所周知数据库连接的过程,但是最近面试的人(菜面菜),都说用的SSM框架,但是我问了一下,mybatis是怎么连接上mysql的,基本上都会说:配置好的,直接用了,今天我来抛砖引玉一下,欢迎拍砖! 什 ...

  9. 当Elasticsearch遇见Kafka

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由michelmu发表于云+社区专栏 Elasticsearch作为当前主流的全文检索引擎,除了强大的全文检索能力和高扩展性之外,对多种 ...

随机推荐

  1. 沙盒单机网站代表-Steam【推荐】

    Steam平台是Valve公司聘请BitTorrent(BT下载)发明者布拉姆·科恩亲自开发设计的游戏平台. Steam平台目前是一款全球最大的综合性数字发行平台.玩家可以在该平台购买.下载.讨论.上 ...

  2. MPLS LDP随堂笔记2

    前一天排错 Acl 1 匹配所有ospf的数据包 (目的 ospf建立邻居关系 传递路由条目) 2 放行UDP报文 让LDP邻居能互相收发HELLO包 4 放行TCP报文 让LDP邻居能够建立TCP会 ...

  3. 软工+C(2017第1期) 题目设计、点评和评分

    // 下一篇:分数和checklist 如何设计题目 教学中的一个问题是老师出题太简单了,题目设计一开始上来就不紧凑,我认为一个好的课程应该上来就给你紧凑感,而不是先上来"轻松2-3周&qu ...

  4. 201521123067 《Java程序设计》第8周学习总结

    201521123067 <Java程序设计>第8周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 Q1.List中指定 ...

  5. 201521123099 《Java程序设计》第4周学习总结

    1. 本周学习总结 2. 书面作业 注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看.(截图) 面向对象设计(大作业1,非常重要) 2.1 将在网上商城购物或 ...

  6. Java程序设计第四周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答:①String类是final类,不能定义String的子类. ② instanceof ...

  7. iOS启动图-从网络获取的gif图,在本地一直是没有动画,还模糊的

    背景介绍:APP启动页,常有静态图加链接,gif加链接,短视频等几种形式.我们APP前期只有静态图这一种,功能已经实现.之后,有了添加gif的需求,按理说,只要添加一个类型判断,按照数据类型,通过不同 ...

  8. iOS - 内购总结

        如果有人以后要在做内购这一块.希望可以好好的阅读这篇文章,虽然不是字字珠玑.但是也是本人亲人趟过了无数的坑,希望可以对大家有所帮助!  下面是在研究工程中遇到的问题(iOS 内购的流程如下 1 ...

  9. python之进程----Queue

    一.Queue是通过multiprocessing使用 from multiprocessing import Process,Queue import time import random impo ...

  10. Shiro第四篇【Shiro与Spring整合、快速入门、Shiro过滤器、登陆认证】

    Spring与Shiro整合 导入jar包 shiro-web的jar. shiro-spring的jar shiro-code的jar 快速入门 shiro也通过filter进行拦截.filter拦 ...