Announcement Announcement Module
Collapse
No announcement yet.
Dealing with CMT Rollback exceptions to get "REAL" Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dealing with CMT Rollback exceptions to get "REAL"

    After switching to the session-per-transaction idiom using CMT SLSBs, I have run into a situation when the session flushes and it thows an exception. Because CMT transaction commit controls the session being flushed and if an exception is thrown here, the transaction simply rollsback. All I get in the catch block is that there was a Rollback exception and not the real exception until I look at the logs. I try to drill down into the exception hierarchy, but I don't see the SQL exception. I really need to return the "real" exception. I included what I'm seeing in the logs.

    Any strategies for handling this?

    Thanks,
    Lou

    Code:
    10:31:44,146 DEBUG SessionFactoryUtils:404 - Flushing Hibernate session on transaction synchronization
    10:31:44,568  WARN JDBCExceptionReporter:38 - SQL Error: 1401, SQLState: 23000
    10:31:44,584 ERROR JDBCExceptionReporter:46 - ORA-01401: inserted value too large for column
    
    10:31:44,584 ERROR JDBCExceptionReporter:38 - could not insert: [com.mitchell.services.technical.claim.dao.vo.ClmClaimVehicle#123]
    java.sql.SQLException: ORA-01401: inserted value too large for column
    
    	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
    	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
    	at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
    	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
    	at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:543)
    	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1027)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2885)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2957)
    	at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:115)
    	at net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22)
    	at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:468)
    	at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:442)
    	at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:29)
    	at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2414)
    	at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2367)
    	at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2236)
    	at org.springframework.orm.hibernate.SessionFactoryUtils$SpringSessionSynchronization.beforeCommit(SessionFactoryUtils.java:406)
    	at org.springframework.orm.hibernate.SessionFactoryUtils$JtaSessionSynchronization.beforeCompletion(SessionFactoryUtils.java:470)
    	at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1010)
    	at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:115)
    	at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1184)
    	at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1910)
    	at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:273)
    	at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:244)
    	at weblogic.ejb20.internal.BaseEJBLocalObject.postInvoke(BaseEJBLocalObject.java:363)
    	at com.mitchell.services.technical.claim.ejb.ClaimBean_jpstj4_ELOImpl.saveExposure(ClaimBean_jpstj4_ELOImpl.java:627)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.control.EJBControlImpl.invoke(EJBControlImpl.jcs:607)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:373)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:388)
    	at $Proxy43.saveExposure(Unknown Source)
    	at com.mitchell.services.technical.claim.process.ClaimProcess.myEJBControlSaveExposure(ClaimProcess.jpd:758)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf$ImplControlSend25.invoke(ClaimProcess_wf.java:233)
    	at com.bea.wli.bpm.runtime.Perform.execute(Perform.java:32)
    	at com.bea.wli.bpm.runtime.SyncReceive.messageDelivery(SyncReceive.java:45)
    	at com.bea.wli.bpm.runtime.Receive.messageDeliveryAction(Receive.java:71)
    	at com.bea.wli.bpm.runtime.ProcessState.processMessage(ProcessState.java:166)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf$_ProcessState.processMessage(ClaimProcess_wf.java:907)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf.$__saveExposure(ClaimProcess_wf.java:817)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:367)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
    	at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:198)
    	at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
    	at com.bea.wlwgen.ClaimProcessSLSBContImpl.saveExposure(ClaimProcessSLSBContImpl.java:140)
    	at com.bea.wlwgen.StatelessContainer_van0w4_ELOImpl.saveExposure(StatelessContainer_van0w4_ELOImpl.java:639)
    	at com.bea.wlwgen.ClaimProcessSLSBContAdpt.invokeOnBean(ClaimProcessSLSBContAdpt.java:126)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatcherBean.java:160)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:46)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161)
    	at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceHandleImpl.java:436)
    	at com.bea.wlw.runtime.core.call.JavaCall.invoke(JavaCall.java:55)
    	at com.bea.wli.bpm.runtime.SubFlowCall.invoke(SubFlowCall.java:108)
    	at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:1257)
    	at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:443)
    	at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:1123)
    	at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:379)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:373)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:388)
    	at $Proxy41.saveExposure(Unknown Source)
    	at com.mitchell.services.technical.claim.process.ClaimProcessPControlTest.saveExposure(ClaimProcessPControlTest.jws:24)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:367)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
    	at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:198)
    	at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
    	at com.bea.wlwgen.ClaimProcessPControlTestSLSBContImpl.saveExposure(ClaimProcessPControlTestSLSBContImpl.java:55)
    	at com.bea.wlwgen.StatelessContainer_a4brx9_ELOImpl.saveExposure(StatelessContainer_a4brx9_ELOImpl.java:315)
    	at com.bea.wlwgen.ClaimProcessPControlTestSLSBContAdpt.invokeOnBean(ClaimProcessPControlTestSLSBContAdpt.java:78)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatcherBean.java:160)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:46)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.dispatch(Dispatcher.java:49)
    	at com.bea.wlw.runtime.core.dispatcher.HttpServerHelper.executePostRequest(HttpServerHelper.java:713)
    	at com.bea.wlw.runtime.core.dispatcher.HttpServer.doPost(HttpServer.java:49)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
    	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6452)
    	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
    	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
    	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
    	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    10:31:44,631 ERROR SessionImpl:2375 - Could not synchronize database state with session
    net.sf.hibernate.JDBCException: could not insert: [com.mitchell.services.technical.claim.dao.vo.ClmClaimVehicle#123]
    	at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:478)
    	at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:442)
    	at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:29)
    	at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2414)
    	at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2367)
    	at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2236)
    	at org.springframework.orm.hibernate.SessionFactoryUtils$SpringSessionSynchronization.beforeCommit(SessionFactoryUtils.java:406)
    	at org.springframework.orm.hibernate.SessionFactoryUtils$JtaSessionSynchronization.beforeCompletion(SessionFactoryUtils.java:470)
    	at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1010)
    	at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:115)
    	at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1184)
    	at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1910)
    	at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:273)
    	at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:244)
    	at weblogic.ejb20.internal.BaseEJBLocalObject.postInvoke(BaseEJBLocalObject.java:363)
    	at com.mitchell.services.technical.claim.ejb.ClaimBean_jpstj4_ELOImpl.saveExposure(ClaimBean_jpstj4_ELOImpl.java:627)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.control.EJBControlImpl.invoke(EJBControlImpl.jcs:607)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:373)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:388)
    	at $Proxy43.saveExposure(Unknown Source)
    	at com.mitchell.services.technical.claim.process.ClaimProcess.myEJBControlSaveExposure(ClaimProcess.jpd:758)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf$ImplControlSend25.invoke(ClaimProcess_wf.java:233)
    	at com.bea.wli.bpm.runtime.Perform.execute(Perform.java:32)
    	at com.bea.wli.bpm.runtime.SyncReceive.messageDelivery(SyncReceive.java:45)
    	at com.bea.wli.bpm.runtime.Receive.messageDeliveryAction(Receive.java:71)
    	at com.bea.wli.bpm.runtime.ProcessState.processMessage(ProcessState.java:166)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf$_ProcessState.processMessage(ClaimProcess_wf.java:907)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf.$__saveExposure(ClaimProcess_wf.java:817)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:367)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
    	at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:198)
    	at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
    	at com.bea.wlwgen.ClaimProcessSLSBContImpl.saveExposure(ClaimProcessSLSBContImpl.java:140)
    	at com.bea.wlwgen.StatelessContainer_van0w4_ELOImpl.saveExposure(StatelessContainer_van0w4_ELOImpl.java:639)
    	at com.bea.wlwgen.ClaimProcessSLSBContAdpt.invokeOnBean(ClaimProcessSLSBContAdpt.java:126)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatcherBean.java:160)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:46)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161)
    	at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceHandleImpl.java:436)
    	at com.bea.wlw.runtime.core.call.JavaCall.invoke(JavaCall.java:55)
    	at com.bea.wli.bpm.runtime.SubFlowCall.invoke(SubFlowCall.java:108)
    	at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:1257)
    	at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:443)
    	at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:1123)
    	at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:379)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:373)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:388)
    	at $Proxy41.saveExposure(Unknown Source)
    	at com.mitchell.services.technical.claim.process.ClaimProcessPControlTest.saveExposure(ClaimProcessPControlTest.jws:24)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:367)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
    	at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:198)
    	at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
    	at com.bea.wlwgen.ClaimProcessPControlTestSLSBContImpl.saveExposure(ClaimProcessPControlTestSLSBContImpl.java:55)
    	at com.bea.wlwgen.StatelessContainer_a4brx9_ELOImpl.saveExposure(StatelessContainer_a4brx9_ELOImpl.java:315)
    	at com.bea.wlwgen.ClaimProcessPControlTestSLSBContAdpt.invokeOnBean(ClaimProcessPControlTestSLSBContAdpt.java:78)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatcherBean.java:160)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:46)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.dispatch(Dispatcher.java:49)
    	at com.bea.wlw.runtime.core.dispatcher.HttpServerHelper.executePostRequest(HttpServerHelper.java:713)
    	at com.bea.wlw.runtime.core.dispatcher.HttpServer.doPost(HttpServer.java:49)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
    	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6452)
    	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
    	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
    	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
    	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: java.sql.SQLException: ORA-01401: inserted value too large for column
    
    	at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
    	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
    	at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
    	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
    	at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:543)
    	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1027)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2885)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:2957)
    	at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:115)
    	at net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22)
    	at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:468)
    	... 97 more
    10:31:44,709  INFO SQLStateSQLExceptionTranslator:64 - Translating SQLException with SQLState '23000' and errorCode '1401' and message [ORA-01401: inserted value too large for column
    ]; SQL was [null] for task [SessionSynchronization]
    10:31:44,740 ERROR SessionFactoryUtils:473 - beforeCommit callback threw exception
    org.springframework.dao.DataIntegrityViolationException: (SessionSynchronization): data integrity violated by SQL 'null'; nested exception is java.sql.SQLException: ORA-01401: inserted value too large for column
    
    10:31:44,787 DEBUG TransactionSynchronizationManager:163 - Removed value [org.springframework.orm.hibernate.SessionHolder@1f0cbb9] for key [net.sf.hibernate.impl.SessionFactoryImpl@423376] from thread [ExecuteThread: '6' for queue: 'weblogic.kernel.Default']
    10:31:44,802 DEBUG SessionFactoryUtils:348 - Closing Hibernate session
    10:31:45,068 DEBUG Invocable:41 - Sending context event onException to myEJBControl
    10:31:45,084 DEBUG DispClass:41 - getDispControl context on class com.bea.wlw.runtime.core.control.SessionEJBControlImpl
    10:31:45,099 DEBUG WlwThreadContext:41 - startInvocation on myEJBControl:context: weblogic.jws.control.Context$Callback.onException()
    10:31:45,099  INFO Claim:43 - ConversationID=172.24.171.49-10bb37b.fe72e73166.-7feb; TopLevelClass=com.mitchell.services.technical.claim.process.ClaimProcess_wf; Id=myEJBControl:context; Method=weblogic.jws.control.Context$Callback.onException()
    10:31:45,115 DEBUG Claim:41 - Id=myEJBControl:context; Method=weblogic.jws.control.Context$Callback.onException(); Principals=null; Params=["javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: weblogic.transaction.internal.AppSetRollbackOnlyException", "saveExposure", "[Ljava.lang.Object;@a6118"]
    10:31:45,115 DEBUG DispClass:41 - getDispControl context on class com.bea.wlw.runtime.core.control.SessionEJBControlImpl
    10:31:45,131 DEBUG Invocable:41 - Invoking onException on target object: com.bea.wlw.runtime.jcs.container.JcsContainer{com.bea.wlw.runtime.core.control.SessionEJBControlImpl}[com.bea.wlw.runtime.core.control.SessionEJBControlImpl@caf1a0]
    10:31:45,177 DEBUG Container:42 - onException event: saveExposure
    
    Throwable: javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: weblogic.transaction.internal.AppSetRollbackOnlyException
    Stack Trace:
    javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: weblogic.transaction.internal.AppSetRollbackOnlyException
    weblogic.transaction.internal.AppSetRollbackOnlyException
    	at weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:504)
    	at weblogic.transaction.internal.TransactionManagerImpl.setRollbackOnly(TransactionManagerImpl.java:337)
    	at weblogic.transaction.internal.TransactionManagerImpl.setRollbackOnly(TransactionManagerImpl.java:331)
    	at org.springframework.orm.hibernate.SessionFactoryUtils$JtaSessionSynchronization.beforeCompletion(SessionFactoryUtils.java:475)
    	at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1010)
    	at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:115)
    	at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1184)
    	at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:1910)
    	at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:273)
    	at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:244)
    	at weblogic.ejb20.internal.BaseEJBLocalObject.postInvoke(BaseEJBLocalObject.java:363)
    	at com.mitchell.services.technical.claim.ejb.ClaimBean_jpstj4_ELOImpl.saveExposure(ClaimBean_jpstj4_ELOImpl.java:627)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.control.EJBControlImpl.invoke(EJBControlImpl.jcs:607)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:373)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:388)
    	at $Proxy43.saveExposure(Unknown Source)
    	at com.mitchell.services.technical.claim.process.ClaimProcess.myEJBControlSaveExposure(ClaimProcess.jpd:758)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf$ImplControlSend25.invoke(ClaimProcess_wf.java:233)
    	at com.bea.wli.bpm.runtime.Perform.execute(Perform.java:32)
    	at com.bea.wli.bpm.runtime.SyncReceive.messageDelivery(SyncReceive.java:45)
    	at com.bea.wli.bpm.runtime.Receive.messageDeliveryAction(Receive.java:71)
    	at com.bea.wli.bpm.runtime.ProcessState.processMessage(ProcessState.java:166)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf$_ProcessState.processMessage(ClaimProcess_wf.java:907)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf.$__saveExposure(ClaimProcess_wf.java:817)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:367)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
    	at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:198)
    	at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
    	at com.bea.wlwgen.ClaimProcessSLSBContImpl.saveExposure(ClaimProcessSLSBContImpl.java:140)
    	at com.bea.wlwgen.StatelessContainer_van0w4_ELOImpl.saveExposure(StatelessContainer_van0w4_ELOImpl.java:639)
    	at com.bea.wlwgen.ClaimProcessSLSBContAdpt.invokeOnBean(ClaimProcessSLSBContAdpt.java:126)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatcherBean.java:160)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:46)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161)
    	at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceHandleImpl.java:436)
    	at com.bea.wlw.runtime.core.call.JavaCall.invoke(JavaCall.java:55)
    	at com.bea.wli.bpm.runtime.SubFlowCall.invoke(SubFlowCall.java:108)
    	at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:1257)
    	at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:443)
    	at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:1123)
    	at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:379)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:373)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:388)
    	at $Proxy41.saveExposure(Unknown Source)
    	at com.mitchell.services.technical.claim.process.ClaimProcessPControlTest.saveExposure(ClaimProcessPControlTest.jws:24)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:367)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
    	at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:198)
    	at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
    	at com.bea.wlwgen.ClaimProcessPControlTestSLSBContImpl.saveExposure(ClaimProcessPControlTestSLSBContImpl.java:55)
    	at com.bea.wlwgen.StatelessContainer_a4brx9_ELOImpl.saveExposure(StatelessContainer_a4brx9_ELOImpl.java:315)
    	at com.bea.wlwgen.ClaimProcessPControlTestSLSBContAdpt.invokeOnBean(ClaimProcessPControlTestSLSBContAdpt.java:78)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatcherBean.java:160)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:46)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.dispatch(Dispatcher.java:49)
    	at com.bea.wlw.runtime.core.dispatcher.HttpServerHelper.executePostRequest(HttpServerHelper.java:713)
    	at com.bea.wlw.runtime.core.dispatcher.HttpServer.doPost(HttpServer.java:49)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
    	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6452)
    	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
    	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
    	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
    	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    javax.ejb.TransactionRolledbackLocalException: Error committing transaction:; nested exception is: weblogic.transaction.internal.AppSetRollbackOnlyException
    	at weblogic.ejb20.internal.EJBRuntimeUtils.throwTransactionRolledbackLocal(EJBRuntimeUtils.java:247)
    	at weblogic.ejb20.internal.EJBRuntimeUtils.throwEJBException(EJBRuntimeUtils.java:133)
    	at weblogic.ejb20.internal.BaseEJBLocalObject.postInvoke(BaseEJBLocalObject.java:381)
    	at com.mitchell.services.technical.claim.ejb.ClaimBean_jpstj4_ELOImpl.saveExposure(ClaimBean_jpstj4_ELOImpl.java:627)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.control.EJBControlImpl.invoke(EJBControlImpl.jcs:607)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:373)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:388)
    	at $Proxy43.saveExposure(Unknown Source)
    	at com.mitchell.services.technical.claim.process.ClaimProcess.myEJBControlSaveExposure(ClaimProcess.jpd:758)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf$ImplControlSend25.invoke(ClaimProcess_wf.java:233)
    	at com.bea.wli.bpm.runtime.Perform.execute(Perform.java:32)
    	at com.bea.wli.bpm.runtime.SyncReceive.messageDelivery(SyncReceive.java:45)
    	at com.bea.wli.bpm.runtime.Receive.messageDeliveryAction(Receive.java:71)
    	at com.bea.wli.bpm.runtime.ProcessState.processMessage(ProcessState.java:166)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf$_ProcessState.processMessage(ClaimProcess_wf.java:907)
    	at com.mitchell.services.technical.claim.process.ClaimProcess_wf.$__saveExposure(ClaimProcess_wf.java:817)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:367)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
    	at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:198)
    	at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
    	at com.bea.wlwgen.ClaimProcessSLSBContImpl.saveExposure(ClaimProcessSLSBContImpl.java:140)
    	at com.bea.wlwgen.StatelessContainer_van0w4_ELOImpl.saveExposure(StatelessContainer_van0w4_ELOImpl.java:639)
    	at com.bea.wlwgen.ClaimProcessSLSBContAdpt.invokeOnBean(ClaimProcessSLSBContAdpt.java:126)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatcherBean.java:160)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:46)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161)
    	at com.bea.wlw.runtime.core.dispatcher.ServiceHandleImpl.invoke(ServiceHandleImpl.java:436)
    	at com.bea.wlw.runtime.core.call.JavaCall.invoke(JavaCall.java:55)
    	at com.bea.wli.bpm.runtime.SubFlowCall.invoke(SubFlowCall.java:108)
    	at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:1257)
    	at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:443)
    	at com.bea.wlw.runtime.core.control.ServiceControlImpl.invoke(ServiceControlImpl.jcs:1123)
    	at com.bea.control.ProcessControlImpl.invoke(ProcessControlImpl.jcs:379)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:373)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:388)
    	at $Proxy41.saveExposure(Unknown Source)
    	at com.mitchell.services.technical.claim.process.ClaimProcessPControlTest.saveExposure(ClaimProcessPControlTest.jws:24)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:324)
    	at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:367)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
    	at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:248)
    	at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:198)
    	at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:103)
    	at com.bea.wlwgen.ClaimProcessPControlTestSLSBContImpl.saveExposure(ClaimProcessPControlTestSLSBContImpl.java:55)
    	at com.bea.wlwgen.StatelessContainer_a4brx9_ELOImpl.saveExposure(StatelessContainer_a4brx9_ELOImpl.java:315)
    	at com.bea.wlwgen.ClaimProcessPControlTestSLSBContAdpt.invokeOnBean(ClaimProcessPControlTestSLSBContAdpt.java:78)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.runAsInvoke(BaseDispatcherBean.java:153)
    	at com.bea.wlw.runtime.core.bean.BaseDispatcherBean.invoke(BaseDispatcherBean.java:54)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatcherBean.java:160)
    	at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(SyncDispatcher_k1mrl8_EOImpl.java:46)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatcher.java:161)
    	at com.bea.wlw.runtime.core.dispatcher.Dispatcher.dispatch(Dispatcher.java:49)
    	at com.bea.wlw.runtime.core.dispatcher.HttpServerHelper.executePostRequest(HttpServerHelper.java:713)
    	at com.bea.wlw.runtime.core.dispatcher.HttpServer.doPost(HttpServer.java:49)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
    	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
    	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6452)
    	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
    	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
    	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
    	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
    	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)

  • #2
    Lou,

    Unfortunately unless I'm missing something, this is not really a Spring issue, but rather a function of your actual setup and how WebLogic handles runtime exceptions thrown by code inside an EJB. With the setup as you have it, there's nothing that Spring can do but throw a RuntimeException, which the container will handle as it wants to (and according to the EJB spec).

    Now one approach, which is not incredibly clean, is for you yourself to just wrap the entire EJB method call in a try/catch block for DataAcessException, and using some sort of helper method, force a flush at the end of the method call. This would allow you to catch errors and perhaps map them to something else. The thing is that you do still want to force the CMT transaction to fail, so you really need to thrown a RuntimeException based exception anyways.

    Colin

    Comment


    • #3
      Originally posted by Colin Sampaleanu
      Now one approach, which is not incredibly clean, is for you yourself to just wrap the entire EJB method call in a try/catch block for DataAcessException, and using some sort of helper method, force a flush at the end of the method call. This would allow you to catch errors and perhaps map them to something else. The thing is that you do still want to force the CMT transaction to fail, so you really need to thrown a RuntimeException based exception anyways.
      Colin,

      This is kind of where I was thinking about going with this too (so much for clean) . :? Unfortunately, I don't really have much control on how WL handles rollback runtime exceptions. Since I have my DAOs throwing checked exceptions, I wrote a Session flush helper in the DAO manager, so it will now check those exceptions. I'm going to use an explicit call to context.setRollbackOnly() to rollback in these instances.

      Thanks much!
      Lou

      Comment

      Working...
      X