Tapestry 5.1 seems incompatible with Spring 3
---------------------------------------------
Key: TAP5-1161
URL: https://issues.apache.org/jira/browse/TAP5-1161
Project: Tapestry 5
Issue Type: Bug
Components: tapestry-spring
Affects Versions: 5.1.0.5
Reporter: Fernando Bellas Permuy
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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.