我需要使用JCA部署數據核。我的應用程序建立在ejb3和CDI上。 我無法繼續此錯誤。在jboss AS上部署Datanucleus AS 7
21:29:38,789 SEVERE [DataNucleus.Datastore.Schema] (http--10.91.10.49-8080-1) Failed initialising database.: org.datanucleus.exceptions. NucleusDataStoreException: You cannot commit during a managed transaction! at org.datanucleus.store.rdbms.ConnectionFactoryImpl$ManagedConnectionImpl.close(ConnectionFactoryImpl.java:522) [datanucleus-rdbms-3.0.0-m6.jar:]
我使用LocalTransaction與Jboss的 管理的數據源我已經定義
standalone.xml 驅動級oracle.jdbc.driver.OracleDriver
RA .xml
事務支持LocalTransaction
jdopersistance.xml
datanucleus.jtaLocator custom_jndi
datanucleus.jtaJndiLocation的java:的JBoss /事務管理
datanucleus.connection.resourceType JTA
在standalone.xml中定義的資源適配器已正確綁定,我可以在ejb中訪問它。 當我嘗試訪問持久性管理器時發生上述異常。
問題:是否有人下得了JCA工作datnucleus在JBoss AS 7個
上爲什麼DataNucleus將嘗試定義我即使犯任何線索管理與被管理的數據源交易datanucleus.connection.resourceType = JTA
其他信息
JDBC驅動程序ojdbc6.jar
DataNucleus將-datanucleus-JCA-3.0.0-m6.rar
JBoss作爲7最終
JDK 1.6
Ubuntu的8.10
的Oracle 11g
回答
由於安迪它工作我創建了兩個單獨的數據源1後)與JTA 2)沒有JTA。 datanucleus.ConnectionFactory2Name ==>指向非JTA。另外我必須添加datanucleus.jtaJndiLocation = java:jboss/TransactionManager。似乎這是特定於oracle的,我還沒有嘗試過使用其他數據庫。討論在www.datanucleus.org/servlet/forum/viewthread_thread,4663_offset幫助。
爲什麼不問這個問題,在JBoss6中有很多人正在部署它沒有問題,那麼JBoss7有什麼不同呢? (具有相同版本的DataNucleus) – DataNucleus
我正在開發一些產品,它與使用datanucleus的審計功能很少的hibernate-envers類似。我喜歡註釋。使用由於jboss7模塊化且快速。更多jboos6不是EAP的一部分。首先,我將在jboss as7上完成我的產品的實現,並找出一種方法將JDO添加爲jboss as7的一等公民。 –
@DataNucleus Classloading在jboos as7中進行了更改。它由模塊和jboss-deployent-structure.xml控制,現在服務器配置集中(standalone.xml/domain.xml),沒有* -ds文件。日誌記錄已經改變,我還沒有弄清楚如何打印datanucleus日誌。現在它使用JCA1.6(IronJacamar)。切換到JCA1.6是否會成爲上述行爲的原因? –