如何解决java.lang.IllegalArgumentException: 找不到名为 ... for Builder
在现有项目中实现缓存(使用 caffeine Cache)时出错。
对于示例应用程序,相同的代码工作正常。 我知道已经有人问过类似的问题,但都不适合我。我已经使用这个例子实现了:https://www.javadevjournal.com/spring-boot/spring-boot-with-caffeine-cache/
以下是代码片段: EventListner 类:
MyEventListener.java:
@Slf4j
@Component
@AllArgsConstructor
class MyEventListener {
@Autowired
private final MySecurityServiceClient mySecurityServiceClient;
.
....some code
.
ResponseEntity<TokenResponse> tokenResponseResponseEntity =mySecurityServiceClient.getUserToken();
}
MySecurityServiceClient.java:
public interface MySecurityServiceClient {
public ResponseEntity getUserToken();
}
接口实现类 DefaultMySecurityServiceClient.java:
@Component
@Slf4j
@AllArgsConstructor
public class DefaultMySecurityServiceClient implements MySecurityServiceClient{
.
...some code
.
@Override
@Cacheable("userToken")
public ResponseEntity getUserToken() {
.
.
.
return responseEntity;
}
}
application.properties
spring.cache.cache-names=userToken
spring.cache.caffeine.spec=expireAfterWrite=120s
另外,我正在使用 咖啡因缓存版本 = 2.8.5
Spring Boot 版本 = 2.3.5.RELEASE
错误:
java.lang.IllegalArgumentException: 无法为 Builder[public org.springframework.http.ResponseEntity xx.xx.xx.xx.xx.DefaultMySecurityServiceClient.getUserToken()] caches=[userToken] 找到名为“userToken”的缓存键='' |密钥生成器='' |缓存管理器='' | cacheResolver='' |条件='' |除非='' | sync='false'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。