gpt4 book ai didi

java - Spring 3.1.1 和缓存配置问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:31:16 24 4
gpt4 key购买 nike

我正在测试 Spring 缓存,这是我的上下文文件

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd">

<cache:annotation-driven cache-manager="simpleCacheManager"/>

<bean id="simpleCacheManager" class="org.springframework.cache.support.SimpleCacheManager">
<property name="caches">
<set>
<bean class="org.springframework.cache.concurrent.ConcurrentCacheFactoryBean">
<property name="name" value="alfresco"/>
</bean>
<bean class="org.springframework.cache.concurrent.ConcurrentCacheFactoryBean">
<property name="name" value="alfresco_article"/>
</bean>
<bean class="org.springframework.cache.concurrent.ConcurrentCacheFactoryBean">
<property name="name" value="alfresco_action"/>
</bean>
</set>
</property>
</bean>

我添加了所有必需的库,但是我无法验证该库,因为 Eclipse 仍然告诉我缺少 AOPAlliance.jar 和 org.springframework.context-3.1.1.RELEASE.jar。

错误是:

在此行发现多个注释:找不到类 org.springframework.cache.concurrent.ConcurrentCacheFactoryBean。

已解决更改为 org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean

但是,调用 url 会发生这种情况:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [configuration-context.xml]; nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/config/AopNamespaceUtils
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [configuration-context.xml]; nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/config/AopNamespaceUtils
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:412)

aop-alliance.jar 和 org.springframework.aop-3.1.1.RELEASE.jar 都在类路径中。

有什么线索吗?

谢谢,
安德里亚

最佳答案

仔细检查 org.springframework.context-3.1.1.RELEASE.jar 确实在类路径中。 Eclipse验证和这个问题的错误点。

更新:我已经检查过了,你是对的。 ConcurrentCacheFactoryBean 似乎从 3.1.0.M1 开始被删除,并且可能被同一包中的 ConcurrentMapCacheFactoryBean 取代。我还没有在发行说明中找到任何证据。但是,如果将缓存的 bean 类名称更改为 ConcurrentMapCacheFactoryBean,它似乎工作正常。

<bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean">
<property name="name" value="alfresco"/>
</bean>

更新 2:是的,确实 ConcurrentCacheFactoryBean 已经是 renamedConcurrentMapCacheFactoryBean他们只是没有时间更新教程。

关于java - Spring 3.1.1 和缓存配置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10978731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com