3.2. キャッシュマネージャーの設定 Bean
次の設定 Bean を使用してキャッシュマネージャーをカスタマイズできます。
-
InfinispanGlobalConfigurer -
InfinispanCacheConfigurer -
設定 -
InfinispanConfigurationCustomizer InfinispanGlobalConfigurationCustomizer注記InfinispanGlobalConfigurerBeanは 1 つしか作成できません。ただし、他の Bean を使用して複数の構成を作成できます。
InfinispanCacheConfigurer Bean
@Bean
public InfinispanCacheConfigurer cacheConfigurer() {
return manager -> {
final Configuration ispnConfig = new ConfigurationBuilder()
.clustering()
.cacheMode(CacheMode.LOCAL)
.build();
manager.defineConfiguration("local-sync-config", ispnConfig);
};
}
設定 Bean
次のように、設定するキャッシュに Bean 名をリンクします。
@Bean(name = "small-cache")
public org.infinispan.configuration.cache.Configuration smallCache() {
return new ConfigurationBuilder()
.read(baseCache)
.memory().size(1000L)
.memory().evictionType(EvictionType.COUNT)
.build();
}
@Bean(name = "large-cache")
public org.infinispan.configuration.cache.Configuration largeCache() {
return new ConfigurationBuilder()
.read(baseCache)
.memory().size(2000L)
.build();
}カスタマイザー Bean
@Bean
public InfinispanGlobalConfigurationCustomizer globalCustomizer() {
return builder -> builder.transport().clusterName(CLUSTER_NAME);
}
@Bean
public InfinispanConfigurationCustomizer configurationCustomizer() {
return builder -> builder.memory().evictionType(EvictionType.COUNT);
}