Caused by: javax.cache.CacheException: Multiple CachingProviders have been configured when only a single CachingProvider is expected

SpringBoot + JPA 项目引入 redisson 后启动报错:

Caused by: javax.cache.CacheException: Multiple CachingProviders have been configured when only a single CachingProvider is expected。

 

原因上面已经说得非常明确了,默认是 JPA 自己找 CachingProvider 直接用了,但是没想到项目里面有多个 CachingProvider 不知道选哪个了。

所以解决方案也简单,好多博客都是直接去掉 ehcache 或 redisson ,emmmm 只能说是简单粗暴,去哪个都会影响现有的功能啊。

所以的所以,直接给 JPA 指定一个就可以了:

# 如果是指定成 ehcache 的,则:
spring.jpa.properties.hibernate.javax.cache.provider=org.ehcache.jsr107.EhcacheCachingProvider
# 如果是指定成 redisson 的(那倒真不如直接去掉 ehcache 的 maven 依赖)
spring.jpa.properties.hibernate.javax.cache.provider=org.redisson.jcache.JCachingProvider

 

posted @ 2022-02-13 22:04  之奇一昂  阅读(581)  评论(0编辑  收藏  举报