Я обновляю эластичную версию 2.x до 6.x. Мне также нужно обновить зависимость данных Spring, чтобы выполнить эластичное обновление. (Использование эластичного облачного управляемого сервиса с x-pack-transport)
Вот мои зависимости:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>x-pack-transport</artifactId>
<version>5.6.1</version>
</dependency>
Это включает зависимость от elasticsearch версии 6.2.2.
Я получаю следующую ошибку при инициализации приложения Spring.
Код подключения:
private Client getEsClient(String clusterIps, String clusterName) throws UnknownHostException
{
Settings settings = Settings.builder()
.put("client.transport.nodes_sampler_interval", "5s")
.put("client.transport.sniff", false)
.put("transport.tcp.compress", true)
.put("cluster.name", "cluster-id")
.put("xpack.security.transport.ssl.enabled", true)
.put("request.headers.X-Found-Cluster", "cluster-id")
.put("xpack.security.user", "user:password")
.put("xpack.security.transport.ssl.verification_mode", "none")
.build();
TransportClient client = new PreBuiltXPackTransportClient(settings);
client.addTransportAddress(
new TransportAddress(InetAddress.getByName("<cluster>.us-west1.gcp.cloud.es.io"), 9343));
return client;
}
Вот исключение, возникшее при инициализации контекста Spring:
Вызвано: java.lang.NoSuchMethodError: org.elasticsearch.common.settings.Settings $ Builder.put ([Ljava / lang / Object;) Lorg / elasticsearch / common / settings / Settings $ Builder;
в org.elasticsearch.xpack.notification.email.Account. (Account.java:71)
в org.elasticsearch.xpack.XPackPlugin. (XPackPlugin.java:192)
в sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод)
в sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62)
в sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45)
в java.lang.reflect.Constructor.newInstance (Constructor.java:423)
в org.elasticsearch.plugins.PluginsService.loadPlugin (PluginsService.java:556)
Пожалуйста, дайте мне знать, если кто-нибудь столкнется с этой проблемой раньше.
Заранее спасибо за помощь :)