Infinispanを使用してSprinBootの上にアプリケーションをメモリ内データソースとして構築しています。私たちが現在経験していることは説明Indexing was not enabled on this cache
と例外で:[]のパスに関連して、[のDispatcherServlet]サーブレットのSpringbootとinfinispan例外
のServlet.service()例外をスローした[リクエストの処理に失敗しました。ネストされた例外は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] at org.infinispan.query.impl.ComponentRegistryUtils.getComponent(ComponentRegistryUtils.java:20)〜[infinispan-query-8.2.4.Final.jar:8.2.4.Final] at org.infinispan。 。query.impl.SearchManagerImpl(SearchManagerImpl.java:40)〜[infinispan-クエリ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を検索しました。
ありがとうございます!
Infinispanのロギングを有効にして、期待するキャッシュを使用していることを確認する必要があります。これは9.0で変更されますが、8.xではgetCache( "random-name")を呼び出すことができます。おそらく索引付けが有効になっていないデフォルト構成に基づいて新しいキャッシュが作成されます。 –