2012-06-11 21 views
8

Estoy probando la caché de Primavera y, este es mi archivo de contextoprimavera 3.1.1 y la configuración de la caché tema

<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> 

I añadido todo biblioteca necesaria, pero, no puedo validar la biblioteca porque Eclipse todavía me dice que AOPAlliance.jar y org.springframework.context-3.1.1.RELEASE.jar faltan.

El error es:

múltiples anotaciones encontradas en esta línea: no se encontró org.springframework.cache.concurrent.ConcurrentCacheFactoryBean clase.

resuelto cambiando a org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean

pero, llamando a la url esto sucede:

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 y org.springframework.aop-3.1.1 .RELEASE.jar están ambos en classpath.

¿Alguna pista?

Gracias,
Andrea

Respuesta

20

doble comprobar que org.springframework.context-3.1.1.RELEASE.jar es de hecho en la ruta de clase. Tanto la validación de Eclipse como el punto de error en este tema.

ACTUALIZACIÓN: He verificado, y tiene razón. ConcurrentCacheFactoryBean parece ser eliminado desde 3.1.0.M1 y es posiblemente reemplazado por ConcurrentMapCacheFactoryBean en el mismo paquete. No pude encontrar ninguna prueba en las notas de la versión todavía. Sin embargo, si cambia el nombre de la clase de bean para sus cachés a ConcurrentMapCacheFactoryBean, parece que funciona bien.

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

Update2: Sí, de hecho ha sido ConcurrentCacheFactoryBeanrenamed a ConcurrentMapCacheFactoryBean. Simplemente no pudieron actualizar el tutorial.

+0

Doble verificado :) Es. –

+0

@AndreaGirardi Actualicé mi respuesta – maksimov

+0

Sí, funciona, pero sigue siendo una java.lang.ClassNotFoundException: org.springframework.aop.config.AopNamespaceUtils. ¿Es posible que algo más haya sido cambiado? La clase está disponible en classpath –

Cuestiones relacionadas