2012-02-16 61 views
0

我从hibernate 3.0迁移到4.1。 我有一个代码片段,用于在我的应用程序中初始化休眠。Hibernate 4.1.0 Final:初始配置失败

 ServiceRegistryBuilder srBuilder = new ServiceRegistryBuilder(); 
     srBuilder.configure(); 
     ServiceRegistry serviceRegistry = srBuilder.buildServiceRegistry(); 

     // Initializes the session factory. 
     sessionConfiguration = new Configuration().configure(); 
     sessionFactory = sessionConfiguration.buildSessionFactory(serviceRegistry); 
     sessionSettings = sessionConfiguration.buildSettings(serviceRegistry); 

我在srBuilder.confiugre()中得到异常。 异常堆栈跟踪: 虽然异常说“超时”,不知道这是什么有关:

Caused by: org.hibernate.internal.util.config.ConfigurationException: Unable to perform unmarshalling at line number 0 and column 0 in RESOURCE hibernate.cfg.xml. Message: null 
at org.hibernate.service.internal.JaxbProcessor.unmarshal(JaxbProcessor.java:120) 
at org.hibernate.service.internal.JaxbProcessor.unmarshal(JaxbProcessor.java:69) 
at org.hibernate.service.ServiceRegistryBuilder.configure(ServiceRegistryBuilder.java:162) 
at org.hibernate.service.ServiceRegistryBuilder.configure(ServiceRegistryBuilder.java:147) 
at com.vmware.vim.vcenter.das.dao.impl.HibernateUtils.init(HibernateUtils.java:76) 
... 24 more 
Caused by: javax.xml.bind.UnmarshalException 
- with linked exception: 
[com.ctc.wstx.exc.WstxIOException: Connection timed out: connect] 
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(Unknown Source) 
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unknown Source) 
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unknown Source) 
at org.hibernate.service.internal.JaxbProcessor.unmarshal(JaxbProcessor.java:108) 
... 28 more 
Caused by: com.ctc.wstx.exc.WstxIOException: Connection timed out: connect 
at com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java:683) 
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1086) 
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(Unknown Source) 
... 31 more 
Caused by: java.net.ConnectException: Connection timed out: connect 
at java.net.PlainSocketImpl.socketConnect(Native Method) 
+0

发布您的** hibernate.cfg.xml **文件 – ManuPK 2012-02-16 15:54:43

回答

1

如果你的hibernate.cfg.xml期运用,

你可以尝试这样的:

Configuration configuration = new Configuration().configure(); 
ServiceRegistryBuilder serviceRegistryBuilder = new ServiceRegistryBuilder(); 
serviceRegistryBuilder.applySettings(configuration.getProperties()); 
ServiceRegistry serviceRegistry = serviceRegistryBuilder.buildServiceRegistry(); 
sessionFactory = configuration.buildSessionFactory(serviceRegistry);