微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.lang.IllegalArgumentException: 找不到名为 ... for Builder

如何解决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 举报,一经查实,本站将立刻删除。