java单例 api_ElasticSearch java api -单例模式

//单例模式

private static Settings getSettingInstance(){

if(settings==null){

synchronized (Settings.class) {

if(settings==null){

settings = ImmutableSettings.settingsBuilder()

// client.transport.sniff=true

// 客户端嗅探整个集群的状态,把集群中其它机器的ip地址自动添加到客户端中,并且自动发现新加入集群的机器

.put("client.transport.sniff", true).put("client", true)// 仅作为客户端连接

.put("data", false).put("cluster.name", clustername)// 集群名称

.build();

}

}

}

return settings;

}

//单例模式

private static TransportClient client;

private static TransportClient getIstance() {

if (client == null) {

//同步代码块(对象未初始化时,使用同步代码块,保证多线程访问时对象在第一次创建后,不再重复被创建)

synchronized (TransportClient.class) {

if (client == null) {

client = new TransportClient(getSettingInstance()).addTransportAddress(new InetSocketTransportAddress(hostname, Integer.parseInt(port1)))// TCP

// 连接地址

.addTransportAddress(new InetSocketTransportAddress(hostname, Integer.parseInt(port2)));

}

}

}

return client;

}

/**

* 创建索引 写入elasticsearch

*

* @param jsonlist

* 要创建索引的jsonlist数据

*/

public static void createIndex(List jsonlist) {

searchRequestBuilder = getIstance().prepareSearch(index);

try {

// 创建索引

for (int i = 0; i < jsonlist.size(); i++) {

IndexResponse indexResponse = client.prepareIndex(index, type, jsonlist.get(i).getString("id")).setSource(jsonlist.get(i).toString())

.execute().actionGet();

if (indexResponse.isCreated()) {

System.out.println("创建成功!");

} else {

System.out.println("创建失败!");

}

}

}

catch (Exception e) {

e.printStackTrace();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值