Tapestry 5
  1. Tapestry 5
  2. TAP5-1161

Tapestry 5.1 seems incompatible with Spring 3

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: 5.1.0.5
    • Fix Version/s: 5.2.0
    • Component/s: tapestry-spring
    • Labels:
      None

      Description

      Hi!

      I am upgrading a Web application using Spring, Hibernate and Tapestry. The application was using the following versions:

      • Hibernate: 3.2.6.ga.
      • Spring: 2.5.6.
      • Tapestry: 5.1.0.5.

      Now I am trying to upgrade to:

      • Hibernate: 3.5.1-Final.
      • Spring: 3.0.2.RELEASE.
      • Tapestry: 5.1.0.5 (same version of Tapestry as before, since it seems to be the more recent version available in the Maven Central Repository).

      I manage the build with Maven. I will omit unnecessary details to be as clear as possible. My business layer tests (which make use of Hibernate and Spring) run successfully (in particular, dependency injection is working well). The problem is when I try to run the Web application. I have tried Jetty (through the Maven plugin) and Tomcat. In both cases, the error is the same:

      java.lang.RuntimeException: Exception constructing service 'ApplicationContext': Error creating bean with name 'accountDao': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void es.udc.pojo.modelutil.dao.GenericDaoHibernate.setSessionFactory(org.hibernate.SessionFactory); nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.config.DependencyDescriptor.getAnnotations()[Ljava/lang/Object;

      It seems that Spring dependency injection is not working property when using Tapestry, more precisely, tapestry-spring. In particular, it seems that tapestry-spring was expecting org.springframework.beans.factory.config.DependencyDescriptor.getAnnotations() to return Object[]. This has changed in Spring 3. Such a method now returns java.lang.annotation.Annotation[]. It is documented in http://static.springsource.org/spring/docs/upgrade/spring3/html/apas02.html#api-report-beans.factory (look for the first occurrence of "DependencyDescriptor"). May this be causing the error???

      Bellow I show the list of jar's that go inside my WAR file (I think there is no incompatibilities):

      antlr-2.7.6.jar
      antlr-runtime-3.1.1.jar
      aopalliance-1.0.jar
      cglib-nodep-2.2.jar
      commons-codec-1.3.jar
      commons-collections-3.1.jar
      commons-logging-1.1.1.jar
      dom4j-1.6.1.jar
      hibernate-annotations-3.5.1-Final.jar
      hibernate-commons-annotations-3.2.0.Final.jar
      hibernate-core-3.5.1-Final.jar
      hibernate-jpa-2.0-api-1.0.0.Final.jar
      javassist-3.9.0.GA.jar
      jta-1.1.jar
      log4j-1.2.14.jar
      pojo-modelutil-1.2.0.jar
      slf4j-api-1.5.8.jar
      slf4j-log4j12-1.5.2.jar
      spring-aop-3.0.2.RELEASE.jar
      spring-asm-3.0.2.RELEASE.jar
      spring-beans-3.0.2.RELEASE.jar
      spring-context-3.0.2.RELEASE.jar
      spring-core-3.0.2.RELEASE.jar
      spring-expression-3.0.2.RELEASE.jar
      spring-jdbc-3.0.2.RELEASE.jar
      spring-orm-3.0.2.RELEASE.jar
      spring-test-3.0.2.RELEASE.jar
      spring-tx-3.0.2.RELEASE.jar
      spring-web-3.0.2.RELEASE.jar
      stax-api-1.0.1.jar
      stax2-api-3.0.1.jar
      tapestry-core-5.1.0.5.jar
      tapestry-ioc-5.1.0.5.jar
      tapestry-spring-5.1.0.5.jar
      tapestry5-annotations-5.1.0.5.jar
      woodstox-core-asl-4.0.3.jar
      xml-apis-1.0.b2.jar

      Thanks in advance,
      Fernando Bellas.

        Activity

          People

          • Assignee:
            Igor Drobiazko
            Reporter:
            Fernando Bellas Permuy
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development