你好,我曾经使用一个缓存提供程序来管理我缓存,但现在我必须使用多个缓存提供程序,而且我在init我的bean中遇到了一些问题,实际上我得到了这个错误:
有没有可能为我XML bean定义一个特定的提供程序?
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jCacheManager' defined in class path resource [default-beans.xml]: Invocation of init method failed; nested exception is javax.cache.CacheException: Multiple CachingProviders have been configured when only a single CachingProvider is expected
我的豆
<bean id="jCacheManager" class="org.springframework.cache.jcache.JCacheManagerFactoryBean">
<property name="cacheManagerUri" value="classpath:ehcache.xml"/>
</bean>
<bean id="DefaultCacheManager" class="org.springframework.cache.jcache.JCacheCacheManager" scope = "singleton">
<property name="cacheManager" ref="jCacheManager" />
</bean>
3条答案
按热度按时间kq4fsx7k1#
如果你想使用多个缓存提供者,那么你应该使用基于注解的缓存配置,这将减少你的工作!你需要做的就是:
启用基于注解的缓存配置
现在,您的应用已经启用了基于注解的缓存服务。
在一个类中,假设您有三个方法,并且希望将它们分别缓存在不同的缓存提供程序中。
lc8prwob2#
f8rj6qna3#
我也面临同样的错误,这里是我的xml文件。
我得到编译错误像“Bean必须是'java.net.URI'类型”。但我可以构建应用程序。启动服务器时,出现以下错误
由于:org.springframework.beans.factory.BeanCreationException:创建在类路径资源[applicationContext.xml]中定义的名为“cacheManagerFactory”的bean时出错:零