I'm running Hibernate in a Weblogic Application Server 9.1 (EJB 2.1), using the JPA api.
I started to get an error commiting a transaction:
<15/06/2007 08h'49 GMT-03:00> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB crm.core.wfl.appl.FwkProcessInternalEjbSn.prcFunctionExecuted(crm.core.wfl.base.FwkWflExecutionContext,crm.core.wfl.base.FwkWflFunction,crm.core.wfl.base.FwkWflFunctionStatusInfo)],Xid=BEA1-00488FBBE71314F5764A(29495731),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,NonXAServerResourceInfo[WL_JDBC_LLR_POOL.FWK_OLTP]=(ServerResourceInfo[WL_JDBC_LLR_POOL.FWK_OLTP]=(state=rolledback,assigned=AdminServer),nonXAResource=JDBC LLR, pool=FWK_OLTP, table=WL_LLR_ADMINSERVER),SCInfo[arenales+AdminServer]=(state=rolledback),properties=({weblogic.jdbc.llr=FWK_OLTP, weblogic.transaction.name=[EJB crm.core.wfl.appl.FwkProcessInternalEjbSn.prcFunctionExecuted(crm.core.wfl.base.FwkWflExecutionContext,crm.core.wfl.base.FwkWflFunction,crm.core.wfl.base.FwkWflFunctionStatusInfo)], weblogic.jdbc=t3://127.0.0.1:7001, weblogic.transaction.nonXAResource=WL_JDBC_LLR_POOL.FWK_OLTP}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+127.0.0.1:7001+arenales+t3+, XAResources={WLStore_arenales__WLS_AdminServer},NonXAResources={})],CoordinatorURL=AdminServer+127.0.0.1:7001+arenales+t3+): weblogic.transaction.RollbackException: Unknown reason
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1782)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:331)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:436)
at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:286)
at crm.core.wfl.appl.FwkProcessInternalEjbSn_x6jlyr_ELOImpl.prcFunctionExecuted(FwkProcessInternalEjbSn_x6jlyr_ELOImpl.java:384)
at crm.core.wfl.appl.FwkProcessInternalLcBDlg.prcFunctionExecuted(FwkProcessInternalLcBDlg.java:85)
at crm.core.wfl.appl.FwkProcessAppl.executeUntilNextInteractiveFunction(FwkProcessAppl.java:304)
at crm.core.wfl.appl.FwkProcessAppl.prcContinueProcess(FwkProcessAppl.java:158)
at crm.core.wfl.appl.FwkProcessAppl.prcContinueProcess(FwkProcessAppl.java:148)
at crm.core.wfl.appl.FwkProcessEjbSn.prcContinueProcess(FwkProcessEjbSn.java:235)
at crm.core.wfl.appl.FwkProcessEjbSn_75fck3_ELOImpl.prcContinueProcess(FwkProcessEjbSn_75fck3_ELOImpl.java:897)
at crm.core.wfl.appl.FwkProcessLcBDlg.prcContinueProcess(FwkProcessLcBDlg.java:111)
at crm.core.wfl.appl.FwkServerAsyncProcessAppl.prcContinueProcess(FwkServerAsyncProcessAppl.java:125)
at crm.core.wfl.appl.FwkServerAsyncProcessEjbSn.prcContinueProcess(FwkServerAsyncProcessEjbSn.java:208)
at crm.core.wfl.appl.FwkServerAsyncProcessEjbSn_2jz4al_ELOImpl.prcContinueProcess(FwkServerAsyncProcessEjbSn_2jz4al_ELOImpl.java:143)
at crm.core.wfl.appl.FwkServerAsyncProcessLcBDlg.prcContinueProcess(FwkServerAsyncProcessLcBDlg.java:122)
at crm.core.wfl.msg.FwkAsyncronicFunctionEjbMd.onMessage(FwkAsyncronicFunctionEjbMd.java:100)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:429)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:335)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:291)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4060)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:3953)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4467)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
.>
And nothing else. The error didn't help much.
The log4j for Hibernate was in INFO
After I changed to DEBUG, I found the following message:
[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)' ---> 08:49:22,955. DEBUG JDBCExceptionReporter:63 - Could not execute JDBC batch update [insert into WFL_SEG (SEG_PRIORIDAD, SEG_USERNAME, SEG_USO, SEG_COD_FUNCION, SEG_DATOS_PARAL_DINAM, SEG_EJECUCION_NOMBRE, SEG_EJECUCION, SEG_RET_STATUS_FUNCION, SEG_FECHA_DISPONIBLE, SEG_ACT_STATUS_CODE, SEG_ACT_STATUS_DESC, SEG_FECHA_SELECCION, SEG_LUGAR, SEG_FECHA_INICIO, SEG_FECHA_FIN, SEG_VALOR_PUNTO_RETORNADO, SEG_OTROS_DATOS, SEG_FECHA_REGISTRACION, SEG_CANT_INTENTOS_EJEC, SEG_SECUENCIA, SEG_NRO_OPER) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]
java.sql.BatchUpdateException: ORA-00001: restricción única (DESA_FWK.PK_WFL_SEG_SEGUIMIENTO) violada
at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10698)
at weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.java:157)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:993)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:340)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:475)
at weblogic.transaction.internal.ServerSCInfo.doBeforeCompletion(ServerSCInfo.java:1150)
at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1128)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:115)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1288)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:2098)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:259)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:436)
at weblogic.ejb.container.internal.BaseLocalObject.postInvokeTxRetry(BaseLocalObject.java:286)
at crm.core.wfl.appl.FwkProcessInternalEjbSn_x6jlyr_ELOImpl.prcFunctionExecuted(FwkProcessInternalEjbSn_x6jlyr_ELOImpl.java:384)
at crm.core.wfl.appl.FwkProcessInternalLcBDlg.prcFunctionExecuted(FwkProcessInternalLcBDlg.java:85)
at crm.core.wfl.appl.FwkProcessAppl.executeUntilNextInteractiveFunction(FwkProcessAppl.java:304)
at crm.core.wfl.appl.FwkProcessAppl.prcContinueProcess(FwkProcessAppl.java:158)
at crm.core.wfl.appl.FwkProcessAppl.prcContinueProcess(FwkProcessAppl.java:148)
at crm.core.wfl.appl.FwkProcessEjbSn.prcContinueProcess(FwkProcessEjbSn.java:235)
at crm.core.wfl.appl.FwkProcessEjbSn_75fck3_ELOImpl.prcContinueProcess(FwkProcessEjbSn_75fck3_ELOImpl.java:897)
at crm.core.wfl.appl.FwkProcessLcBDlg.prcContinueProcess(FwkProcessLcBDlg.java:111)
at crm.core.wfl.appl.FwkServerAsyncProcessAppl.prcContinueProcess(FwkServerAsyncProcessAppl.java:125)
at crm.core.wfl.appl.FwkServerAsyncProcessEjbSn.prcContinueProcess(FwkServerAsyncProcessEjbSn.java:208)
at crm.core.wfl.appl.FwkServerAsyncProcessEjbSn_2jz4al_ELOImpl.prcContinueProcess(FwkServerAsyncProcessEjbSn_2jz4al_ELOImpl.java:143)
at crm.core.wfl.appl.FwkServerAsyncProcessLcBDlg.prcContinueProcess(FwkServerAsyncProcessLcBDlg.java:122)
at crm.core.wfl.msg.FwkAsyncronicFunctionEjbMd.onMessage(FwkAsyncronicFunctionEjbMd.java:100)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:429)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:335)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:291)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4060)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:3953)
at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4467)
at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
This show the real problem.
This message is send by JDBCExceptionReporter class, but only in DEBUG mode.
Should it be show using the ERROR mode?
Should be reported has a bug / needed change.
Because if we don't use DEBUG, we don't see the problem.
Regards
Hibernate version: Hibernate-Version: 3.2.0.cr2
|