我有一个spring boot应用程序,我正在尝试配置javax缓存。如果我包含启用缓存注释,那么spring无法找到下面bean中定义的javax cacheManager。如果我注释掉缓存注释,则会找到bean但我收到的错误是没有配置缓存提供程序。任何见解都将不胜感激。
# Set seed for reporducibility
set.seed(123)
# Create df1
a<-sample(1:10, 10)
b<- sample(1:10,10)
c<- sample(1:10,10)
d<-sample(1:10, 10)
df1<- as.data.frame(cbind(a, b, c, d))
# Create df2
index1<- c(1:10)
index2 <- sample(1:1000, 10)
df2<- as.data.frame(cbind(index1, index2))
# Load packages
library(dplyr)
library(tidyr)
df1_new <- df1 %>%
mutate(ID = 1:n()) %>%
gather(Column, index1, -ID) %>%
left_join(df2, by = "index1") %>%
select(-index1) %>%
spread(Column, index2) %>%
select(-ID)
答案 0 :(得分:2)
javax.cache.CacheException: No CachingProviders have been configured
此异常表示类路径上没有CachingProviders
实现(.jar)。
考虑在pom.xml文件中添加CachingProvider
实现,例如Ehcache:
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
Caching.getCachingProvider()
(from Ehcache 3.x JSR-107 Provider doc.)
从中检索默认的CachingProvider实现 应用程序的类路径。当且仅当存在时,此方法才有效 类路径中只有一个JCache实现jar。如果有 然后,类路径中的多个提供程序将使用完全限定名称 org.ehcache.jsr107.EhcacheCachingProvider检索Ehcache 缓存提供商。你可以使用 改为使用Caching.getCachingProvider(String)静态方法。