Исключение Springboot и Infispan

Мы строим приложение поверх SprinBoot с Infinispan в качестве источника данных в памяти. То, что мы в настоящее время испытываем, является исключением с описанием Indexing was not enabled on this cache:

Servlet.service () для сервлета [dispatcherServlet] в контексте с путем [] вызвала исключение [Ошибка обработки запроса; Вложенное исключение - java.lang.IllegalArgumentException: индексирование не включено в этом кэше. интерфейс org.hibernate.search.spi.SearchIntegrator не найден в реестре] с первопричиной java.lang.IllegalArgumentException: индексирование не включено в этом кэше. Интерфейс org.hibernate.search.spi.SearchIntegrator не найден в реестре по адресу org.infinispan.query.impl.ComponentRegistryUtils.getComponent(ComponentRegistryUtils.java:27) ~[infinispan-query-8.2.4.Final.jar:8.2.4.Final] в org.infinispan.query.impl.ComponentRegistryUtils.getComponent(ComponentRegistryUtils.java:20) ~[infinispan-query-8.2.4.Final.jar:8.2.4.Final] в org.infinispan.query.impl.SearchManagerImpl.(SearchManagerImpl.java:40) ~[infinispan-query-8.2.4.Final.jar:8.2.4.Final]

Наша конфигурация выглядит следующим образом:

@Bean
public InfinispanCacheConfigurer cacheConfigurer() {
return manager -> {
    final org.infinispan.configuration.cache.Configuration ispnConfig = new ConfigurationBuilder()
            .clustering()
            .cacheMode(CacheMode.LOCAL)
            .indexing()
                .setProperty("default.directory_provider", "ram")
                .setProperty("default.indexmanager", "near-real-time")
                .index(Index.ALL)
            .build();

    manager.defineConfiguration("local-sync-config", ispnConfig);
};

}

И сущность, которую мы пытаемся сохранить:

@Indexed
public class Deal {
    @Field
    private Long id;
    @Field
    private String counterparty;
    @Field
    private String grid;
    @Field
    @DateBridge(resolution = Resolution.DAY)
    private Date startDate;
    @Field
    @DateBridge(resolution = Resolution.DAY)
    private Date endDate;
    @Field
    private int position;
 ...
}

Цель состоит в том, чтобы индексирование и запросы работали, мы безуспешно искали Google.

Спасибо!

1 ответ

Решение

@ Дэн, похоже, прав. Не могли бы вы убедиться, что вы используете правильный кэш? Или, по крайней мере, вы можете поделиться фрагментом кода, который вы используете для сохранения Deal объекты?

Другие вопросы по тегам