Files
admin-api/src/main/java/com/gzzn/omms/adminapi/elasticsearch/ElasticsearchConfig.java
T

90 lines
2.4 KiB
Java

package com.gzzn.omms.adminapi.elasticsearch;
import java.net.InetAddress;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ElasticsearchConfig {
private static final Logger LOGGER = LoggerFactory.getLogger(ElasticsearchConfig.class);
@Value("${elasticsearch.cluster.nodes}")
private String nodes;
/**
* elk集群地址
*/
@Value("${elasticsearch.ip}")
private String hostName;
/**
* 端口
*/
@Value("${elasticsearch.port}")
private String port;
/**
* 集群名称
*/
@Value("${elasticsearch.cluster.name}")
private String clusterName;
/**
* 连接池
*/
@Value("${elasticsearch.pool}")
private String poolSize;
/**
* Bean name default 函数名字
*
* @return
*/
@Bean(name = "transportClient")
public TransportClient transportClient() {
LOGGER.info("Elasticsearch初始化开始。。。。。");
TransportClient transportClient = null;
try {
// 配置信息
Settings esSetting = Settings.builder()
.put("cluster.name", clusterName) // 集群名字
.put("thread_pool.search.size", Integer.parseInt(poolSize))// 增加线程池个数,暂时设为5
.build();
// 配置信息Settings自定义
transportClient = new PreBuiltTransportClient(esSetting);
String []nodeArr = nodes.split(",");
for(String node:nodeArr)
{
String host;
String port;
if(node.contains(":"))
{
host = node.split(":")[0];
port = node.split(":")[1];
}
else {
host = node;
port = "9300";//默认端口
}
TransportAddress transportAddress = new TransportAddress(InetAddress.getByName(host),
Integer.valueOf(port));
transportClient.addTransportAddresses(transportAddress);
}//end for
} catch (Exception e) {
LOGGER.error("elasticsearch TransportClient create error!!", e);
}
return transportClient;
}
}