我需要使用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是否会成为上述行为的原因? –