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
经历比结果更重要