Проблема с подключением приложения Spring Boot к elasticsearch 8.6 с использованием данных Spring.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с подключением приложения Spring Boot к elasticsearch 8.6 с использованием данных Spring.

Сообщение Anonymous »

Я новичок в ElasticSearch, и мне хотелось бы иметь приложение Spring Boot, которое подключается к базе данных ElasticSearch 8.6, чтобы выполнять операции CRUD над индексом.
Я пытался создать CRUD-приложение, используя Spring Boot с базой данных ElasticSearch.
Entity:
@Document(createIndex = true, indexName = "client")
public class ClientEntity {

public ClientEntity() {
super();
}

@Id
private String id;

@Field(type = FieldType.Text, name = "name")
private String name;

@Field(type = FieldType.Long, name = "phoneNumber")
private Long phone;

Интерфейс репозитория из данных Spring:
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface ClientRepository extends ElasticsearchRepository {

}

Конфигурация эластичного поиска:
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.client.ClientConfiguration;
import org.springframework.data.elasticsearch.client.elc.ElasticsearchConfiguration;
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;

import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import co.elastic.clients.transport.ElasticsearchTransport;
import co.elastic.clients.transport.rest_client.RestClientTransport;

@Configuration
public class ConfigElasticSearch extends ElasticsearchConfiguration {
@Bean
public ElasticsearchTransport getElasticsearchTransport() {
return new RestClientTransport(getRestClient(), new JacksonJsonpMapper());
}

@Bean
public ElasticsearchClient getElasticsearchClient() {
ElasticsearchClient client = new ElasticsearchClient(getElasticsearchTransport());
return client;
}

@Override
public ClientConfiguration clientConfiguration() {
return ClientConfiguration.builder().connectedTo("localhost:9200")
.withBasicAuth("user", "my-password").build();
}


pom.xml:

org.springframework.boot
spring-boot-starter-parent
2.7.12



17
2021.0.5
0.9.1
3.1.1



org.modelmapper
modelmapper
${org-modelmapper.version}


org.springframework.boot
spring-boot-starter-web




org.springframework.boot
spring-boot-starter-data-elasticsearch


jakarta.json
jakarta.json-api


com.fasterxml.jackson.core
jackson-databind



Служба, использующая репозиторий Spring Data:

@Service("clientPersistence")
public class ClientPersistenceElasticSearchDb {

@Autowired
private ClientRepository clientRepository;

public Stream\ findAll() {
return StreamSupport.stream(this.clientRepository.findAll().spliterator(), false);
}

public Optional\ findById(String id) {
return clientRepository.findById(id);
}
}


Основная конфигурация моего микросервиса:

@SpringBootApplication
public class ClientMicroserviceApplication {

public static void main(String[] args) {
SpringApplication.run(EmpleadosMicroservicioApplication.class, args);
}

}


Если я запускаю свой микросервис, при запуске я получаю следующее (а затем микросервис зависает):


org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка создания bean-компонента с именем «clientPersistencia»: неудовлетворительная зависимость, выраженная через поле «clientRepository»; вложенным исключением является org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем «clientRepository», определенным в es.clientmicroservice.dao.clientRepository, определенном в @EnableElasticsearchRepositories, объявленном в ConfigElasticSearch: невозможно разрешить ссылку на bean-компонент «elasticsearchTemplate» при настройке свойства bean-компонента 'elasticsearchOperations'; вложенным исключением является org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка создания bean-компонента с именем «elasticsearchOperations», определенным в ресурсе пути к классу [es/clientmicroservice/config/ConfigElasticSearch .class]: неудовлетворенная зависимость, выраженная через параметр 1 метода «elasticsearchOperations»; вложенным исключением является org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем ElasticsearchClient, определенным в ресурсе пути к классу [es/clientmicroservice/config/ConfigElasticSearch.class]: не удалось создать экземпляр bean-компонента с помощью фабричного метода; вложенное исключение: org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [co.elastic.clients.elasticsearch.ElasticsearchClient]: фабричный метод ElasticsearchClient вызвал исключение; вложенным исключением является java.lang.NoClassDefFoundError: jakarta/json/spi/JsonProvider
Я не знаю, почему мой класс clientPersistence не создается из-за отсутствия зависимости JsonProvider.
Кто-нибудь может мне помочь?
Заранее спасибо!!


Подробнее здесь: https://stackoverflow.com/questions/763 ... g-spring-d
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Укажите конвейер приема Elasticsearch в данных Spring Elasticsearch
    Anonymous » » в форуме JAVA
    0 Ответы
    290 Просмотры
    Последнее сообщение Anonymous
  • Вложенные агрегаты Elasticsearch с данными Spring elasticsearch 5.2
    Anonymous » » в форуме Elasticsearch aggregation
    0 Ответы
    1216 Просмотры
    Последнее сообщение Anonymous
  • Что случилось с elasticsearch/elasticsearch?
    Anonymous » » в форуме Php
    0 Ответы
    178 Просмотры
    Последнее сообщение Anonymous
  • [29.10.2024]Не удалось загрузить elasticsearch/elasticsearch с dist для PHP [дубликат]
    Anonymous » » в форуме Php
    0 Ответы
    157 Просмотры
    Последнее сообщение Anonymous
  • Что случилось с elasticsearch/elasticsearch?
    Anonymous » » в форуме Php
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»