openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From plins...@gmail.com
Subject Re: OptimisticException question
Date Mon, 03 Dec 2007 23:32:29 GMT
Hi,

That's a bug; OpenJPA is not translating exceptions thrown during
JTA-managed commits. Can you open a JIRA issue for it?

-Patrick

On 11/30/07, Ajay Aggarwal <aaggarwal@covergence.com> wrote:
> Patrick,
>
> Here is the full stack trace.
>
> -Ajay
>
> <Nov 30, 2007 9:50:53 AM EST> <Error> <EJB> <BEA-010026> <Exception
> occurred during commit of transaction Name=[EJB
> com.covergence.soa.covapi.sesscfg.SessionConfigBean.getSessionConfig(com
> .covergence.soa.utils.SerJavaSipMessageType)],Xid=BEA1-00001267875BE126C
> EB7(64273527),Status=Rolled back. [Reason=<2|false|0.9.7>
> org.apache.openjpa.util.OptimisticException: Optimistic locking errors
> were detected when flushing to the data store.  The following objects
> may have been concurrently modified in another transaction:
> [com.covergence.soa.covapi.userpolicy.User-com.covergence.soa.covapi.use
> rpolicy.User-1]],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since
> begin=2,seconds
> left=30,SCInfo[ajayProduction+AdminServer]=(state=rolledback),properties
> =({weblogic.transaction.name=[EJB
> com.covergence.soa.covapi.sesscfg.SessionConfigBean.getSessionConfig(com
> .covergence.soa.utils.SerJavaSipMessageType)]}),OwnerTransactionManager=
> ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+172.30.
> 0.202:7001+ajayProduction+t3+admin+7001+,XAResources={WLStore_ajayProduc
> tion__WLS_AdminServer},NonXAResources={})],CoordinatorURL=AdminServer+17
> 2.30.0.202:7001+ajayProduction+t3+admin+7001+):
> weblogic.transaction.RollbackException: Optimistic locking errors were
> detected when flushing to the data store.  The following objects may
> have been concurrently modified in another transaction:
> [com.covergence.soa.covapi.userpolicy.User-com.covergence.soa.covapi.use
> rpolicy.User-1]
>         at
> weblogic.transaction.internal.TransactionImpl.throwRollbackException(Tra
> nsactionImpl.java:1818)
>         at
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Serve
> rTransactionImpl.java:333)
>         at
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransac
> tionImpl.java:227)
>         at
> weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteO
> bject.java:606)
>         at
> weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(Statel
> essRemoteObject.java:57)
>         at
> weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseR
> emoteObject.java:426)
>         at
> com.covergence.soa.covapi.sesscfg.SessionConfigBean_4w7egw_SessionConfig
> Impl.getSessionConfig(SessionConfigBean_4w7egw_SessionConfigImpl.java:76
> )
>         at
> jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Lja
> va.lang.Object;)Ljava.lang.Object;(Unknown Source)
>         at
> java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)L
> java.lang.Object;(Unknown Source)
>         at
> weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBus
> inessIntfProxy.java:63)
>         at
> $Proxy67.getSessionConfig(Lcom.covergence.soa.utils.SerJavaSipMessageTyp
> e;)Lcom.covergence.ws.callouts.SessionConfigType;(Unknown Source)
>         at
> com.covergence.soa.ws.server.CallOutsImpl.getSessionConfigType(CallOutsI
> mpl.java:46)
>         at
> com.covergence.soa.ws.server.CallOutsImplBase.getSessionPolicy(CallOutsI
> mplBase.java:238)
>         at
> jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Lja
> va.lang.Object;)Ljava.lang.Object;(Unknown Source)
>         at
> java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)L
> java.lang.Object;(Unknown Source)
>         at weblogic.wsee.jaxws.WLSInvoker.invoke(WLSInvoker.java:50)
>         at weblogic.wsee.jaxws.WLSInvoker.invoke(WLSInvoker.java:42)
>         at
> com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHan
> dler.java:247)
>         at
> com.sun.xml.ws.server.sei.SEIInvokerPipe.process(SEIInvokerPipe.java:97)
>         at
> weblogic.wsee.jaxws.MonitoringPipe.process(MonitoringPipe.java:98)
>         at
> com.sun.xml.ws.protocol.soap.ServerMUPipe.process(ServerMUPipe.java:62)
>         at
> com.sun.xml.ws.server.WSEndpointImpl$1.process(WSEndpointImpl.java:139)
>         at
> com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter
> .java:153)
>         at
> com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:235)
>         at
> com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapt
> er.java:97)
>         at
> weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:36)
> .>
> javax.ejb.EJBException: nested exception is: <2|false|0.9.7>
> org.apache.openjpa.util.OptimisticException: Optimistic locking errors
> were detected when flushing
> to the data store.  The following objects may have been concurrently
> modified in another transaction:
> [com.covergence.soa.covapi.userpolicy.User-com.covergence.
> soa.covapi.userpolicy.User-1]<2|false|0.9.7>
> org.apache.openjpa.util.OptimisticException: Optimistic locking errors
> were detected when flushing to the data store.  The following objects
> may have been concurrently modified in another transaction:
> [com.covergence.soa.covapi.userpolicy.User-com.covergence.soa.covapi.use
> rpolicy.User-1]
>         at
> org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2
> 120)
>         at
> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1970)
>         at
> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1868)
>         at
> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:17
> 86)
>         at
> weblogic.transaction.internal.ServerSCInfo.doBeforeCompletion(ServerSCIn
> fo.java:1212)
>         at
> weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerS
> CInfo.java:1190)
>         at
> weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(Serve
> rSCInfo.java:118)
>         at
> weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndCh
> ain(ServerTransactionImpl.java:1299)
>         at
> weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(Ser
> verTransactionImpl.java:2111)
>         at
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Serve
> rTransactionImpl.java:260)
>         at
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransac
> tionImpl.java:227)
>         at
> weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteO
> bject.java:606)
>         at
> weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(Statel
> essRemoteObject.java:57)
>         at
> weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseR
> emoteObject.java:426)
>         at
> com.covergence.soa.covapi.sesscfg.SessionConfigBean_4w7egw_SessionConfig
> Impl.getSessionConfig(SessionConfigBean_4w7egw_SessionConfigImpl.java:76
> )
>         at
> jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Lja
> va.lang.Object;)Ljava.lang.Object;(Unknown Source)
>         at
> java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)L
> java.lang.Object;(Unknown Source)
>         at
> weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBus
> inessIntfProxy.java:63)
>         at
> $Proxy67.getSessionConfig(Lcom.covergence.soa.utils.SerJavaSipMessageTyp
> e;)Lcom.covergence.ws.callouts.SessionConfigType;(Unknown Source)
>         at
> com.covergence.soa.ws.server.CallOutsImpl.getSessionConfigType(CallOutsI
> mpl.java:46)
> Caused by: <2|false|0.9.7> org.apache.openjpa.util.OptimisticException:
> An optimistic lock violation was detected when flushing object instance
> "com.covergence.soa.covapi.userpolicy.User-com.covergence.soa.covapi.use
> rpolicy.User-1" to the data store.  This indicates that the object was
> concurrently modified in anothertransaction.
> FailedObject:
> com.covergence.soa.covapi.userpolicy.User-com.covergence.soa.covapi.user
> policy.User-1
>         at
> kodo.jdbc.kernel.BatchingPreparedStatementManager.checkUpdate(BatchingPr
> eparedStatementManager.java:354)
>         at
> kodo.jdbc.kernel.BatchingPreparedStatementManager.flushInternal(Batching
> PreparedStatementManager.java:208)
>         at
> kodo.jdbc.kernel.BatchingPreparedStatementManager.flush(BatchingPrepared
> StatementManager.java:188)
>         at
> kodo.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.j
> ava:90)
>         at
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdat
> eManager.java:86)
>         at
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdat
> eManager.java:69)
>         at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.j
> ava:511)
>         at
> org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreMa
> nager.java:127)
>         at
> org.apache.openjpa.datacache.DataCacheStoreManager.flush(DataCacheStoreM
> anager.java:506)
>         at
> org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreMa
> nager.java:127)
>         at
> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1970)
>         at
> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1868)
>         at
> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:17
> 86)
>         at
> weblogic.transaction.internal.ServerSCInfo.doBeforeCompletion(ServerSCIn
> fo.java:1212)
>         at
> weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerS
> CInfo.java:1190)
>         at
> weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(Serve
> rSCInfo.java:118)
>         at
> weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndCh
> ain(ServerTransactionImpl.java:1299)
>         at
> weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(Ser
> verTransactionImpl.java:2111)
>         at
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Serve
> rTransactionImpl.java:260)
>         at
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransac
> tionImpl.java:227)
>         at
> weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteO
> bject.java:606)
>         at
> weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(Statel
> essRemoteObject.java:57)
>         at
> weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseR
> emoteObject.java:426)
> javax.ejb.EJBException: nested exception is: <2|false|0.9.7>
> org.apache.openjpa.util.OptimisticException: Optimistic locking errors
> were detected when flushing to the data store.  The following objects
> may have been concurrently modified in another transaction:
> [com.covergence.soa.covapi.userpolicy.User-com.covergence.soa.covapi.use
> rpolicy.User-1]
>         at
> weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBus
> inessIntfProxy.java:78)
>         at
> $Proxy67.getSessionConfig(Lcom.covergence.soa.utils.SerJavaSipMessageTyp
> e;)Lcom.covergence.ws.callouts.SessionConfigType;(Unknown Source)
>         at
> com.covergence.soa.ws.server.CallOutsImpl.getSessionConfigType(CallOutsI
> mpl.java:46)
>         at
> com.covergence.soa.ws.server.CallOutsImplBase.getSessionPolicy(CallOutsI
> mplBase.java:238)
>         at
> jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Lja
> va.lang.Object;)Ljava.lang.Object;(Unknown Source)
>         at
> java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)L
> java.lang.Object;(Unknown Source)
>         at weblogic.wsee.jaxws.WLSInvoker.invoke(WLSInvoker.java:50)
>         at weblogic.wsee.jaxws.WLSInvoker.invoke(WLSInvoker.java:42)
>         at
> com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHan
> dler.java:247)
>         at
> com.sun.xml.ws.server.sei.SEIInvokerPipe.process(SEIInvokerPipe.java:97)
>         at
> weblogic.wsee.jaxws.MonitoringPipe.process(MonitoringPipe.java:98)
>         at
> com.sun.xml.ws.protocol.soap.ServerMUPipe.process(ServerMUPipe.java:62)
>         at
> com.sun.xml.ws.server.WSEndpointImpl$1.process(WSEndpointImpl.java:139)
>         at
> com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter
> .java:153)
>         at
> com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:235)
>         at
> com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapt
> er.java:97)
>         at
> weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:36)
>         at
> weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:218)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>         at
> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(St
> ubSecurityHelper.java:226)
>         at
> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityH
> elper.java:124)
>         at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:2
> 83)
>         at
> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:1
> 75)
>         at
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r
> un(WebAppServletContext.java:3370)
>         at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSu
> bject.java:321)
>         at
> weblogic.security.service.SecurityManager.runAs(Lweblogic.security.acl.i
> nternal.AuthenticatedSubject;Lweblogic.security.acl.internal.Authenticat
> edSubject;Ljava.security.PrivilegedAction;)Ljava.lang.Object;(Unknown
> Source)
>         at
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServ
> letContext.java:2117)
>         at
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletCont
> ext.java:2023)
>
> -----Original Message-----
> From: plinskey@gmail.com [mailto:plinskey@gmail.com]
> Sent: Friday, November 30, 2007 3:03 AM
> To: users@openjpa.apache.org
> Subject: Re: OptimisticException question
>
> Hi,
>
> Do you have the full exception stack? That's just the outer exception.
>
> -Patrick
>
> On 11/29/07, Ajay Aggarwal <aaggarwal@covergence.com> wrote:
> > Well, I am seeing OptimisticException and not OptimisticLockException.
> > What's the difference between the two? Below is my trace, if that's
> any
> > hint as to why I am not getting OptimisticLockException. My
> environment
> > is BEA WLS 6.1.
> >
> > Thanks.
> >
> >
> >
> > ####<Nov 27, 2007 5:18:57 PM EST> <Error> <EJB> <aaggarwal>
> > <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue:
> > 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <>
> > <1196201937032> <BEA-010026> <Exception occurred during commit of
> > transaction Name=[EJB
> >
> com.covergence.soa.covapi.sesscfg.SessionConfigBean.getSessionConfig(com
> >
> .covergence.soa.utils.SerJavaSipMessageType)],Xid=BEA1-000076951D12E126C
> > EB7(46083264),Status=Rolled back. [Reason=<2|false|0.9.7>
> > org.apache.openjpa.util.OptimisticException: Optimistic locking errors
> > were detected when flushing to the data store.  The following objects
> > may have been concurrently modified in another transaction:
> >
> [com.covergence.soa.covapi.userpolicy.User-com.covergence.soa.covapi.use
> > rpolicy.User-1]],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
> since
> > begin=2,seconds
> >
> left=29,SCInfo[ajayProduction+AdminServer]=(state=rolledback),properties
> > =({weblogic.transaction.name=[EJB
> >
> com.covergence.soa.covapi.sesscfg.SessionConfigBean.getSessionConfig(com
> >
> .covergence.soa.utils.SerJavaSipMessageType)]}),OwnerTransactionManager=
> >
> ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+172.30.
> > 0.202:7001+ajayProduction+t3+admin+7001+,
> >
> XAResources={WLStore_ajayProduction__WLS_AdminServer},NonXAResources={})
> >
> ],CoordinatorURL=AdminServer+172.30.0.202:7001+ajayProduction+t3+admin+7
> > 001+): weblogic.transaction.RollbackException: Optimistic locking
> errors
> > were detected when flushing to the data store.  The following objects
> > may have been concurrently modified in another transaction:
> >
> [com.covergence.soa.covapi.userpolicy.User-com.covergence.soa.covapi.use
> > rpolicy.User-1]
> > 	at
> >
> weblogic.transaction.internal.TransactionImpl.throwRollbackException(Tra
> > nsactionImpl.java:1818)
> > 	at
> >
> weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Serve
> > rTransactionImpl.java:333)
> > 	at
> >
> weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransac
> > tionImpl.java:227)
> > 	at
> >
> weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteO
> > bject.java:606)
> > 	at
> >
> weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(Statel
> > essRemoteObject.java:57)
> > 	at
> >
> weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseR
> > emoteObject.java:426)
> > 	at
> >
> com.covergence.soa.covapi.sesscfg.SessionConfigBean_4w7egw_SessionConfig
> >
> Impl.getSessionConfig(SessionConfigBean_4w7egw_SessionConfigImpl.java:76
> > )
> > 	at
> >
> jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Lja
> > va.lang.Object;)Ljava.lang.Object;(Unknown Source)
> > 	at
> >
> java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)L
> > java.lang.Object;(Unknown Source)
> > 	at
> >
> weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBus
> > inessIntfProxy.java:63)
> > 	at
> >
> $Proxy132.getSessionConfig(Lcom.covergence.soa.utils.SerJavaSipMessageTy
> > pe;)Lcom.covergence.ws.callouts.SessionConfigType;(Unknown Source)
> > 	at
> >
> com.covergence.soa.ws.server.CallOutsImpl.getSessionConfigType(CallOutsI
> > mpl.java:46)
> > 	at
> >
> com.covergence.soa.ws.server.CallOutsImplBase.getSessionPolicy(CallOutsI
> > mplBase.java:233)
> > 	at
> >
> jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Lja
> > va.lang.Object;)Ljava.lang.Object;(Unknown Source)
> > 	at
> >
> java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)L
> > java.lang.Object;(Unknown Source)
> > 	at weblogic.wsee.jaxws.WLSInvoker.invoke(WLSInvoker.java:50)
> > 	at weblogic.wsee.jaxws.WLSInvoker.invoke(WLSInvoker.java:42)
> > 	at
> >
> com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHan
> > dler.java:247)
> > 	at
> >
> com.sun.xml.ws.server.sei.SEIInvokerPipe.process(SEIInvokerPipe.java:97)
> > 	at
> > weblogic.wsee.jaxws.MonitoringPipe.process(MonitoringPipe.java:98)
> > 	at
> >
> com.sun.xml.ws.protocol.soap.ServerMUPipe.process(ServerMUPipe.java:62)
> > 	at
> >
> com.sun.xml.ws.server.WSEndpointImpl$1.process(WSEndpointImpl.java:139)
> > 	at
> >
> com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter
> > .java:153)
> > 	at
> > com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:235)
> > 	at
> >
> com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapt
> > er.java:97)
> > 	at
> >
> weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:36)
> > .>
> >
> >
> > -----Original Message-----
> > From: plinskey@gmail.com [mailto:plinskey@gmail.com]
> > Sent: Wednesday, November 28, 2007 9:24 PM
> > To: users@openjpa.apache.org
> > Subject: Re: OptimisticException question
> >
> > Hi,
> >
> > The internal exception should be re-wrapped in an
> > OptimisticLockException.
> >
> > -Patrick
> >
> > On 11/28/07, Adam Hardy <adam.sql@cyberspaceroad.org> wrote:
> > > Ajay Aggarwal on 28/11/07 17:00, wrote:
> > > > Hi,
> > > >
> > > >
> > > >
> > > > I wanted to know why openJPA uses
> > > > "org.apache.openjpa.util.OptimisticException" and not
> > > > "javax.persistence.OptimisticLockException". In my code I wanted
> to
> > > > catch this exception and take appropriate action. However I didn't
> > want
> > > > my code to become dependent on OpenJPA. I wanted to limit OpenJPA
> > > > dependency to persistence.xml
> > > >
> > > > Am I missing something?
> > >
> > > Hi Ajay,
> > >
> > >
> > > org.apache.openjpa.persistence.OptimisticLockException
> > >
> > > extends
> > >
> > > javax.persistence.OptimisticLockException
> > >
> > > I would suggest that the circumstances under which
> OptimisticException
> > is
> > > thrown
> > > would give a clue as to why it and not OptimisticLockException is
> > being
> > > used.
> > >
> > >
> > > regards
> > > Adam
> > >
> >
> >
> > --
> > Patrick Linskey
> > 202 669 5907
> >
>
>
> --
> Patrick Linskey
> 202 669 5907
>


-- 
Patrick Linskey
202 669 5907

Mime
View raw message