2014-03-27 32 views
0

我正在使用JTA與休眠通過這我有一個耳文件有多個戰爭文件時,我部署在玻璃魚耳文件它運行良好,但是當我運行那耳朵文件在JBoss中,它得到S-我的一些錯誤如何在jboss彈簧中使用JTA

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [persistenceContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: EW] Unable to build EntityManagerFactory 
16:54:55,678 ERROR [stderr] (MSC service thread 1-8) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1486) 
16:54:55,678 ERROR [stderr] (MSC service thread 1-8) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) 
16:54:55,679 ERROR [stderr] (MSC service thread 1-8) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) 
16:54:55,680 ERROR [stderr] (MSC service thread 1-8) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) 
16:54:55,680 ERROR [stderr] (MSC service thread 1-8) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) 
16:54:55,681 ERROR [stderr] (MSC service thread 1-8) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) 
16:54:55,682 ERROR [stderr] (MSC service thread 1-8) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
16:54:55,682 ERROR [stderr] (MSC service thread 1-8) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117) 
16:54:55,683 ERROR [stderr] (MSC service thread 1-8) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:922) 
16:54:55,683 ERROR [stderr] (MSC service thread 1-8) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) 
16:54:55,684 ERROR [stderr] (MSC service thread 1-8) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
16:54:55,685 ERROR [stderr] (MSC service thread 1-8) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
16:54:55,685 ERROR [stderr] (MSC service thread 1-8) at com.eyewatch.dao.util.DAOLocator.<clinit>(DAOLocator.java:15) 
+0

請發表您的'的persistence.xml '這應該有助於我們幫助你! – Keerthivasan

+0

拋出這個excletion的類使我感到害怕。'DAOLocator' ......看起來像遍歷依賴關係查找,我希望沒有構造一個'ApplicationContext'的ServiceLocator。唉,請發佈完整的stacktrace我希望有更多(某處),請在我的standalone.xml中添加spring configuration和persistence.xml –

回答

0

使用JBoss JTA,你不應該在persistence.xml此事進行任何配置,除了<jta-data-source>

從Spring應用程序使用JBoss JTA它只是足以將此添加到配置中:

<tx:jta-transaction-manager/> 

請注意,最好允許將持久性單元提升爲JBOSS:將您的persistence.xml設置爲您瓶子的META-INF。 並獲得entityManagerFactory從JNDI:

persistence.xml

<property name="jboss.entity.manager.factory.jndi.name" value="persistence/MY-UNIT"/> 

application.xml

<jee:jndi-lookup id="emf" jndi-name="persistence/MY-UNIT"/> 

<bean id="entityManager" class="org.springframework.orm.jpa.support.SharedEntityManagerBean" 
      p:entityManagerFactory-ref="emf"/> 

有,你可以繼續使用@PersistenceContext您的服務

+0

<連接-URL> JDBC:MySQL的://本地主機:3306/ewschema 的MySQL

+0

做很多努力,我正在此錯誤或msg(「subsystem」=>「datasources」), (「data-source」=>「java:/ jdbc/test-standalone」) ]) - 失敗描述:{「JBAS014771:缺少/不可用依賴關係的服務」 => [ 「jboss.driver-demander.java:/jdbc/test-standalone is missing [jboss.jdbc-driver.mysql]」, 「jboss.data-source.java:/jdbc/test-standalone is missing [jboss.jdbc-driver.mysql]「 ]} –