@Bean
public Config inMemoryHazelCastCache() {
return new Config().setInstanceName(configuration.getCacheInstanceName())
.addMapConfig(new MapConfig().setName(configuration.getCacheName())
.setMaxSizeConfig(new MaxSizeConfig(configuration.getJvmCacheMaxSize(), MaxSizeConfig.MaxSizePolicy.FREE_HEAP_SIZE))
.setEvictionPolicy(EvictionPolicy.LRU).setTimeToLiveSeconds(configuration.getJvmCacheTtl()));
}
@Bean
public HazelcastCacheManager hazelcastCacheManager() {
return new
HazelcastCacheManager(Hazelcast.newHazelcastInstance(inMemoryHazelCastCache()));
}
@Lazy
@Bean
@DependsOn("inMemoryHazelCastCache")
public JVMCacheFacade<String> jVMCacheFacade(@Autowired HazelcastCacheManager
hazelcastCacheManager) {
IMap<String, String> cacheInstance =
hazelcastCacheManager.getHazelcastInstance().getMap(configuration.getCacheName());
return new JVMCacheFacade<>(cacheInstance);
}
如上面的代码片段所示,我有3个bean,inMemoryHazelCastCache,用于返回内存中缓存实例hazelcastCacheManager的配置,用于使用上述配置jVMCacheFacade获取HazelcastCacheManager,以获取外观以访问实际的本机缓存,但仍是缓存实例与我创建的配置名称完全相同的名称不会再出现。我在这里错过任何基本的东西吗?