2.2. 缓存管理器配置 Beans
您可以使用以下配置 Bean 自定义缓存管理器:
-
InfinispanGlobalConfigurer
-
InfinispanCacheConfigurer
-
Configuration
-
InfinispanConfigurationCustomizer
-
InfinispanGlobalConfigurationCustomizer
注意
您只能创建一个 InfinispanGlobalConfigurer
bean。但是,您可以使用其他 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(); }
Customizer Beans
@Bean public InfinispanGlobalConfigurationCustomizer globalCustomizer() { return builder -> builder.transport().clusterName(CLUSTER_NAME); } @Bean public InfinispanConfigurationCustomizer configurationCustomizer() { return builder -> builder.memory().evictionType(EvictionType.COUNT); }