#2649 add node manager

This commit is contained in:
Shinsuke Sugaya 2022-05-04 21:49:40 +09:00
parent 0e346abecf
commit cafb95491c

View file

@ -15,6 +15,8 @@
*/
package org.codelibs.fess.helper;
import static org.codelibs.core.stream.StreamUtil.split;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
@ -32,6 +34,8 @@ import org.apache.logging.log4j.Logger;
import org.codelibs.core.lang.StringUtil;
import org.codelibs.curl.Curl.Method;
import org.codelibs.curl.CurlRequest;
import org.codelibs.fesen.client.curl.FesenRequest;
import org.codelibs.fesen.client.node.NodeManager;
import org.codelibs.fess.mylasta.direction.FessConfig;
import org.codelibs.fess.util.ComponentUtil;
import org.codelibs.fess.util.ResourceUtil;
@ -41,6 +45,8 @@ public class CurlHelper {
private SSLSocketFactory sslSocketFactory;
private NodeManager nodeManager;
@PostConstruct
public void init() {
final FessConfig fessConfig = ComponentUtil.getFessConfig();
@ -66,6 +72,9 @@ public class CurlHelper {
logger.warn("Failed to load {}", authorities, e);
}
}
final String[] hosts = split(ResourceUtil.getFesenHttpUrl(), ",")
.get(stream -> stream.map(s -> s.trim()).filter(StringUtil::isNotEmpty).toArray(n -> new String[n]));
nodeManager = new NodeManager(hosts);
}
public CurlRequest get(final String path) {
@ -85,7 +94,7 @@ public class CurlHelper {
}
public CurlRequest request(final Method method, final String path) {
final CurlRequest request = new CurlRequest(method, ResourceUtil.getFesenHttpUrl() + path);
final CurlRequest request = new FesenRequest(new CurlRequest(method, null), nodeManager, path);
final FessConfig fessConfig = ComponentUtil.getFessConfig();
final String username = fessConfig.getElasticsearchUsername();
final String password = fessConfig.getElasticsearchPassword();