mirror of
https://gitee.com/dromara/easy-es.git
synced 2025-12-06 17:18:57 +08:00
update easy-es-boot-stater/src/main/java/com/xpc/easyes/autoconfig/config/EsAutoConfiguration.java.
This commit is contained in:
parent
c031e56fea
commit
aa18bf04c1
@ -43,6 +43,7 @@ import static com.xpc.easyes.core.constants.BaseEsConstants.DEFAULT_SCHEMA;
|
|||||||
public class EsAutoConfiguration implements InitializingBean, EnvironmentAware, PropertyKeyConstants {
|
public class EsAutoConfiguration implements InitializingBean, EnvironmentAware, PropertyKeyConstants {
|
||||||
@Autowired
|
@Autowired
|
||||||
private EsConfigProperties esConfigProperties;
|
private EsConfigProperties esConfigProperties;
|
||||||
|
|
||||||
private Environment environment;
|
private Environment environment;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -73,20 +74,44 @@ public class EsAutoConfiguration implements InitializingBean, EnvironmentAware,
|
|||||||
// 构建连接对象
|
// 构建连接对象
|
||||||
RestClientBuilder builder = RestClient.builder(httpHost);
|
RestClientBuilder builder = RestClient.builder(httpHost);
|
||||||
|
|
||||||
// 设置账号密码之类的
|
// 设置账号密码最大连接数之类的
|
||||||
String username = environment.getProperty(USERNAME);
|
String username = esConfigProperties.getUsername();
|
||||||
String password = environment.getProperty(PASSWORD);
|
String password = esConfigProperties.getPassword();
|
||||||
if (!StringUtils.isEmpty(username) && !StringUtils.isEmpty(password)) {
|
Integer maxConnTotal = esConfigProperties.getMaxConnTotal();
|
||||||
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
|
Integer maxConnPerRoute = esConfigProperties.getMaxConnPerRoute();
|
||||||
// 设置账号密码
|
boolean needSetHttpClient = (StringUtils.isNotEmpty(username) && StringUtils.isNotEmpty(password))
|
||||||
credentialsProvider.setCredentials(AuthScope.ANY,
|
|| (Objects.nonNull(maxConnTotal) || Objects.nonNull(maxConnPerRoute));
|
||||||
new UsernamePasswordCredentials(esConfigProperties.getUsername(), esConfigProperties.getPassword()));
|
if (needSetHttpClient) {
|
||||||
builder.setHttpClientConfigCallback(httpClientBuilder -> {
|
builder.setHttpClientConfigCallback(httpClientBuilder -> {
|
||||||
httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
|
Optional.ofNullable(maxConnTotal).ifPresent(httpClientBuilder::setMaxConnTotal);
|
||||||
|
Optional.ofNullable(maxConnPerRoute).ifPresent(httpClientBuilder::setMaxConnPerRoute);
|
||||||
|
if (StringUtils.isNotEmpty(username) && StringUtils.isNotEmpty(password)) {
|
||||||
|
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
|
||||||
|
// 设置账号密码
|
||||||
|
credentialsProvider.setCredentials(AuthScope.ANY,
|
||||||
|
new UsernamePasswordCredentials(esConfigProperties.getUsername(), esConfigProperties.getPassword()));
|
||||||
|
httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
|
||||||
|
}
|
||||||
return httpClientBuilder;
|
return httpClientBuilder;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//TODO 其它设置,比如超时时间 异步之类的 后续优化
|
|
||||||
|
// 设置超时时间之类的
|
||||||
|
Integer connectTimeOut = esConfigProperties.getConnectTimeout();
|
||||||
|
Integer socketTimeOut = esConfigProperties.getSocketTimeout();
|
||||||
|
Integer requestTimeOut = esConfigProperties.getRequestTimeout();
|
||||||
|
Integer connectionRequestTimeOut = esConfigProperties.getConnectionRequestTimeout();
|
||||||
|
boolean needSetRequestConfig = Objects.nonNull(connectTimeOut) || Objects.nonNull(requestTimeOut)
|
||||||
|
|| Objects.nonNull(connectionRequestTimeOut);
|
||||||
|
if (needSetRequestConfig) {
|
||||||
|
builder.setRequestConfigCallback(requestConfigBuilder -> {
|
||||||
|
Optional.ofNullable(connectTimeOut).ifPresent(requestConfigBuilder::setConnectTimeout);
|
||||||
|
Optional.ofNullable(socketTimeOut).ifPresent(requestConfigBuilder::setSocketTimeout);
|
||||||
|
Optional.ofNullable(connectionRequestTimeOut)
|
||||||
|
.ifPresent(requestConfigBuilder::setConnectionRequestTimeout);
|
||||||
|
return requestConfigBuilder;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return new RestHighLevelClient(builder);
|
return new RestHighLevelClient(builder);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user