Я пытаюсь выполнить операцию отмены из моего приложения, которая удалит запись из базы данных. Однако в тестовой среде я получаю ошибку в журнале, и отмена не удается. То же приложение, развернутое на моем локальном хосте, работает без проблем.
Я пытался воспроизвести проблему в моей локальной среде, но она работает там.
Обратите внимание, что мой локальный и тестовый env указывают на одну и ту же базу данных .
Произошла ошибка в следующих условиях :
App Server : WebLogic 12cR2
DB : 12c
OS : AIX
Java : 1.8
Работа в условиях ниже :
App Server : WebLogic 12cR2
DB : 12c
OS : Windows 7
Java : 1.8
Получена ошибка:
Caused by: oracle.jdbc.xa.OracleXAException: XAErr (100): The
inclusive lower bound oof the rollback codes. ORA-2091 SQLErr (0)
Caused by: java.sql.SQLTransactionRollbackException: ORA-02091: transaction rolled back
ORA-02292: integrity constraint (EDOC2.FK_REQ_DOC_TYPE) violated - child record found
Полный журнал ошибок :
weblogic.transaction.RollbackException: XAErr (100): The inclusive lower bound oof the rollback codes. ORA-2091 SQLErr (0)
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:2104)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:376)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:262)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:442)
at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:20)
at weblogic.ejb.container.internal.BaseRemoteObject.__WL_postInvokeTxRetry(BaseRemoteObject.java:307)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invokeInternal(SessionRemoteMethodInvoker.java:67)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:21)
Caused by: oracle.jdbc.xa.OracleXAException: XAErr (100): The inclusive lower bound oof the rollback codes. ORA-2091 SQLErr (0)
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1112)
at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:629)
at weblogic.jdbc.jta.DataSource.commit(DataSource.java:1156)
at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1572)
at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:625)
at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:644)
at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2402)
at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:3386)
at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:3291)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:314)
Caused by: java.sql.SQLTransactionRollbackException: ORA-02091: transaction rolled back
ORA-02292: integrity constraint (EDOC2.FK_REQ_NEW_BE) violated - child record found
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:441)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:436)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1061)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
at oracle.jdbc.driver.T4CTTIOtxen.doOTXEN(T4CTTIOtxen.java:169)
at oracle.jdbc.driver.T4CXAResource.doTransaction(T4CXAResource.java:818)
at oracle.jdbc.driver.T4CXAResource.doCommit(T4CXAResource.java:455)
at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:624)
Ожидаемый результат должен состоять в том, что он должен работать как в локальной, так и в тестовой среде. Пожалуйста, дайте мне знать, что я пропускаю.