Мне нужно развернуть ядро с использованием JCA.Мое приложение построено на ejb3 и CDI.Я не могу продолжить после этой ошибки.
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 / TransactionManager
datanucleus.connection.resourceType JTA
10-определенный * определенный ресурсв standalone.xml является обязательным, и я могу получить к нему доступ в EJB.Вышеуказанное исключение возникает, когда я пытаюсь получить доступ к диспетчеру персистентности.
Вопрос: Кто-нибудь получил управляемые транзакции с управляемым источником данных в JCA, работающем для datnucleus на Jboss, как 7
Любые подсказки о том, почему datanucleusпытается выполнить фиксацию даже после того, как я определил datanucleus.connection.resourceType = JTA
Другая информация
jdbc driver ojdbc6.jar
datanucleus -datanucleus-jca-3.0.0-m6.rar
Jboss as 7 final
jdk 1.6
Ubuntu 8.10
Oracle 11g
Ответ
Спасибо, и это работает после того, как я создал два отдельных источника данных 1) с JTA 2) без JTA.datanucleus.ConnectionFactory2Name ==> указывает на не-JTA.Дополнительно мне пришлось добавить datanucleus.jtaJndiLocation = java: jboss / TransactionManager.Похоже, это специфично для оракула, мне еще предстоит попробовать другие базы данных.Помогло обсуждение на www.datanucleus.org/servlet/forum/viewthread_thread,4663_offset.