spring注入elasticsearch

来源:互联网 发布:股票资产分析软件 编辑:程序博客网 时间:2024/05/01 23:52

spring中注入elasticsearch客户端

一、spring-impl.xml

<!-- ElasticSearch client-->     <bean id="esConf" class="com.elasticsearch.EsConf">        <constructor-arg value="$[es.ip]"/>        <constructor-arg value="$[es.clusterName]"/>        <constructor-arg value="$[es.type]"/>         <constructor-arg value="$[es.port]"/>     </bean> 

二、EsConf.java

public class EsConf {    private String ips;    private String type;    private String clusterName;    private String port;    public EsConf(String ips, String type, String clusterName, String port) {        this.ips = ips;        this.type = type;        this.clusterName = clusterName;        this.port = port;    }

三、EsClientFactory

@Configurationpublic class EsClientFactory {    @Autowired    private EsConf esConf;    @Bean(name="esClient")    public Client getESClient() {        Settings settings = Settings.settingsBuilder().put("cluster.name",esConf.getClusterName()).build();        Client client = TransportClient.builder().settings(settings).build();        for(String ip:esConf.getIps().split(",")) {            try {                ((TransportClient) client).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(ip), 9300));            } catch (UnknownHostException e) {                e.printStackTrace();            }        }        return client;        }}

四、Service

@Servicepublic class EsOperateServiceImpl implements EsOperateService {@Resource(name = "esClient")  private  Client client;
0 0
原创粉丝点击