2012-04-26 14 views
6

Vamos a través del ejercicio de recuperación de desastres y varias aplicaciones de Hibernate + resorte no a partir de error siguienteHibernate Mapping no funciona en el modo fuera de línea

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from input stream 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1337) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) 
       at java.security.AccessController.doPrivileged(AccessController.java:214) 
       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:221) 
       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.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:1029) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:977) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) 
       ... 55 more 
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream 
       at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:541) 
       at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:638) 
       at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334) 
       ... 67 more 
**Caused by: org.dom4j.DocumentException: Server returned HTTP response code: 504 for URL: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd Nested exception: Server returned HTTP response code: 504 for URL: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd** 
       at org.dom4j.io.SAXReader.read(SAXReader.java:484) 
       at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:532) 
       ... 71 more 

El archivo XML de mapeo HBM tiene

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 

Búsqueda en los foros de SO e Hibernate la solución parece que tenemos que hacer DTD en el tipo de documento para SISTEMA, por lo que se lee desde el sistema local en lugar de public dtd alojado en sourceforge.net

<!DOCTYPE hibernate-mapping SYSTEM "hibernate-mapping-3.0.dtd"> 

Pero con este Hibernate está buscando el archivo en el servidor de aplicaciones carpeta raíz

Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream 
       at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:541) 
       at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:638) 
       at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368) 
       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334) 
       ... 72 more 
Caused by: org.dom4j.DocumentException: C:\IBMSOA\SDP70\runtimes\base_v61\profiles\AppSrvWSFP01\hibernate-mapping-3.0.dtd (The system cannot find the file specified.) Nested exception: C:\IBMSOA\SDP70\runtimes\base_v61\profiles\AppSrvWSFP01\hibernate-mapping-3.0.dtd (The system cannot find the file specified.) 
       at org.dom4j.io.SAXReader.read(SAXReader.java:484) 
       at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:532) 
       ... 76 more 

¿Cómo se debe especificar la referencia del sistema de modo de hibernación DTD DTD lee desde hibernate.jar en lugar de buscar en el sistema de archivos?

+0

Qué pasa con la respuesta que se publicó? –

+0

Esta respuesta fue "* eliminada por el propietario *". –

Respuesta

1

descargar el archivo DTD y utilización local en que funcionará

Cuestiones relacionadas