| 
					
				 | 
			
			
				@ -22,14 +22,12 @@ import java.util.concurrent.TimeUnit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class ElasticFactory { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static JestClientFactory factory = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${es.host}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String esHost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${es.port}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String port; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${es.tPort}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String tPort; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${es.clusterName}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String clusterName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${spring.data.elasticsearch.cluster-name}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String clusterNames; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${spring.data.elasticsearch.cluster-nodes}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String clusterNodes; // 120.25.194.233:9300,120.25.194.233:9300,120.25.194.233:9300 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${spring.elasticsearch.jest.uris}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String jestHost; // http://192.168.226.133:9200 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//-----------------------------------jestClient---------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -51,20 +49,20 @@ public class ElasticFactory { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // Construct a new Jest client according to configuration via factory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        factory = new JestClientFactory(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        factory.setHttpClientConfig(new HttpClientConfig 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .Builder("http://" + esHost + ":" + port) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .Builder(jestHost) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .multiThreaded(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .maxTotalConnection(50)// 最大链接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .maxConnectionIdleTime(120, TimeUnit.SECONDS)//链接等待时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .connTimeout(60*1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               // .discoveryEnabled(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .readTimeout(60*1000)//60秒 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .connTimeout(60 * 1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                // .discoveryEnabled(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .readTimeout(60 * 1000)//60秒 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .build());//得到链接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //-----------------------------------TransportClient---------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private Client transportClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private TransportClient transportClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Client getTransportClient() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public TransportClient getTransportClient() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            initTranClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return transportClient; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -77,12 +75,17 @@ public class ElasticFactory { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private synchronized void initTranClient() throws UnknownHostException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (transportClient == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Settings settings = Settings.settingsBuilder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   // .put("client.transport.sniff", true)//开启嗅探功能 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .put("cluster.name", StringUtils.isEmpty(clusterName) ? "jkzl" : clusterName)//默认集群名字是jkzl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // .put("client.transport.sniff", true)//开启嗅探功能 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .put("cluster.name", StringUtils.isEmpty(clusterNames) ? "jkzl" : clusterNames)//默认集群名字是jkzl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .build(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            transportClient = TransportClient.builder().settings(settings).build() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(esHost), Integer.valueOf(tPort))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            transportClient = TransportClient.builder().settings(settings).build(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String[] ips = clusterNodes.split(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for (String ip : ips) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String[] ipAndPost = ip.split(":"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                transportClient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(ipAndPost[0]), Integer.valueOf(ipAndPost[1]))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |