History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: APF-1109
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Matt Raible
Reporter: Marcello Teodori
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
AppFuse

Old Xerces version bug when using JPA as dao.framework

Created: 12/Nov/08 11:10 AM   Updated: 12/Dec/08 12:29 AM
Component/s: Build, Test, or Deploy Process
Affects Version/s: 2.0.2
Fix Version/s: 2.1


 Description  « Hide
When switching dao.framework to JPA running web tests and the war with jetty:run-war results in a StackOverflowException because of a bug present in the version of Xerces included in Maven.

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [applicationContext-dao.xml]: Invocation of init method failed; nested exception is java.lang.StackOverflowError
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
... 58 more
Caused by: java.lang.StackOverflowError
at org.apache.xerces.util.URI.setScheme(URI.java:904)
at org.apache.xerces.util.URI.initializeScheme(URI.java:576)
at org.apache.xerces.util.URI.initialize(URI.java:400)
at org.apache.xerces.util.URI.<init>(URI.java:211)
at org.apache.xerces.util.URI.<init>(URI.java:195)
at org.apache.xerces.impl.XMLEntityManager.expandSystemId(XMLEntityManager.java:1140)
at org.apache.xerces.impl.XMLEntityManager.resolveEntity(XMLEntityManager.java:581)
at org.apache.xerces.impl.xs.XMLSchemaLoader.xsdToXMLInputSource(XMLSchemaLoader.java:625)
at org.apache.xerces.impl.xs.XMLSchemaLoader.processJAXPSchemaSource(XMLSchemaLoader.java:580)
at org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:489)
at org.apache.xerces.impl.xs.XMLSchemaLoader.processJAXPSchemaSource(XMLSchemaLoader.java:588)
at org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:489)
at org.apache.xerces.impl.xs.XMLSchemaLoader.processJAXPSchemaSource(XMLSchemaLoader.java:588)



The problem is documented with a resolution in the Spring AbstractJpaTests javadoc here:

  http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/test/jpa/AbstractJpaTests.html

So everything works adding an updated dependency for xerces:

 <dependency>
   <groupId>xerces</groupId>
     <artifactId>xercesImpl</artifactId>
   <version>2.8.1</version>
 </dependency>


 All   Comments   Change History   FishEye      Sort Order:
There are no comments yet on this issue.