Упругие данные Spring Data Elastic Search Custom преобразования не работаютJAVA

Программисты JAVA общаются здесь
Anonymous
Упругие данные Spring Data Elastic Search Custom преобразования не работают

Сообщение Anonymous »

Custom @ReadingConverter не запускается, но когда я изначально реализовал этот код, он работал нормально. < /p>
Класс конфигурации: < /p>
@Configuration
public class ElasticsearchConfig {

@Bean
public MappingElasticsearchConverter mappingElasticsearchConverter() {
return new MappingElasticsearchConverter(new SimpleElasticsearchMappingContext());
}

@Bean
public ElasticsearchCustomConversions elasticsearchCustomConversions(
MappingElasticsearchConverter mappingElasticsearchConverter, ObjectMapper objectMapper) {
return new ElasticsearchCustomConversions(List.of(
new LogEntryReadingConverter(mappingElasticsearchConverter, objectMapper)
));
}
}
< /code>
Вот реализация конвертера: < /p>
@Component
@ReadingConverter
public class LogEntryReadingConverter implements Converter {

private final MappingElasticsearchConverter elasticsearchConverter;
private final ObjectMapper objectMapper;

public LogEntryReadingConverter(MappingElasticsearchConverter elasticsearchConverter, ObjectMapper objectMapper) {
this.elasticsearchConverter = elasticsearchConverter;
this.objectMapper = objectMapper;
}

public LogEntry convert(Document source) {
// Use Elasticsearch's internal conversion (respects @Field annotations)
LogEntry logEntry = elasticsearchConverter.read(LogEntry.class, source);

// some custom logic is here

return logEntry;
}
< /code>
Мой класс документов: < /p>
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@Document(indexName = "logstash")
public class LogEntry implements ILogModel {

@Id
private String id;
// more fields are here
}
< /code>
Мой класс репозитория: < /p>
@Repository
public interface HaProxyLogRepository extends ElasticsearchRepository {

Page findByTimestampBetween(LocalDateTime from, LocalDateTime to, Pageable pageable);

}
< /code>
Я ожидаю, что метод преобразования будет вызван до выполнения метода репозитория «FindByTimEStampweth Между» на вызове метода. Это работало раньше, по какой -то странной причине, он никогда не запускается сейчас. < /P>
Я использую Spring Boot 3.1.2. и Spring Data Elasticsearch 5.1.2.

Подробнее здесь: https://stackoverflow.com/questions/794 ... oesnt-work

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