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);
}