Closed Kagenui-yozuru closed 1 year ago
我看samples中是通过生命周期函数和CacheManager来创建/获取 Cache对象的,但是需要在每一个类中写同样的方法我觉得有些繁琐。所以想要通过通用的方式来管理Cache对象。如下
@Configuration public class JetCacheConfig { @Autowired private CacheManager cacheManager; @Bean(name=RedisConstant.LOGIN_USER_CACHE_NAME) public Cache<Integer, LoginUser> loginUserCache() { QuickConfig config = QuickConfig.newBuilder(RedisConstant.LOGIN_USER_CACHE_NAME) .expire(Duration.ofDays(RedisConstant.LOGIN_USER_CACHE_EXPIRE)) .cacheType(CacheType.REMOTE) .build(); return cacheManager.getOrCreateCache(config); } @Bean(name=RedisConstant.GATEWAY_HEADER_TOKEN_CACHE_NAME) public Cache<String,String> gatewayHeaderTokenCache(){ QuickConfig config = QuickConfig.newBuilder(RedisConstant.GATEWAY_HEADER_TOKEN_CACHE_NAME) .expire(Duration.ofSeconds(RedisConstant.GATEWAY_HEADER_TOKEN_CACHE_EXPIRE)) .cacheType(CacheType.REMOTE) .build(); return cacheManager.getOrCreateCache(config); } }
这种方式我目前尝试的结果是不可行的。在其他Bean中尝试注入Cache对象时会提示未找到该类型的Bean。请问是设计本身不支持这种方式还是我其他地方出了问题。
我犯病了,注入的时候bean名称搞错了
我看samples中是通过生命周期函数和CacheManager来创建/获取 Cache对象的,但是需要在每一个类中写同样的方法我觉得有些繁琐。所以想要通过通用的方式来管理Cache对象。如下
这种方式我目前尝试的结果是不可行的。在其他Bean中尝试注入Cache对象时会提示未找到该类型的Bean。请问是设计本身不支持这种方式还是我其他地方出了问题。