openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hong Jin Lu <luho...@cn.ibm.com>
Subject Questions about OpenJPA's entity state
Date Wed, 15 Oct 2008 09:17:06 GMT

hi, folks:

1. My env is : WPS6.1, DB2 9.0, OpenJPA 1.2.0

2. The followed is my persistence.xml configuration file:
<persistence-unit name="derby.ojpa">
        <provider>
                  org.apache.openjpa.persistence.PersistenceProviderImpl
            </provider>
            <jta-data-source>jdbc/jpa</jta-data-source>
            <mapping-file>orm.xml</mapping-file>
            <properties>
                  <property name="openjpa.TransactionMode" value="managed"
/>
                  <property name="openjpa.ConnectionFactoryMode" value=
"managed"/>
                  <property name="openjpa.jdbc.DBDictionary" value="db2"/>
                  <property name="openjpa.jdbc.EagerFetchMode" value="join"
></property>
                  <property name="openjpa.InverseManager" value="true"/>
                  <property name="openjpa.RetainState" value="true"/>
                  <property name="openjpa.AutoDetach" value="nontx-read"/>
                  <property name="openjpa.NontransactionalRead" value=
"false"/>
                  <property name="openjpa.NontransactionalWrite" value=
"false"/>
                  <property name="openjpa.ConnectionRetainMode" value=
"transaction"/>
            </properties>
    </persistence-unit>

3. I enable global transaction of SCA component , make sure tx is started,
and invokes several DAO operations in one of the SCA component operation
named "updateCaseStatus".
such as CaseMgmtImpl SCA component sequentially invokes DAO operations

      CaseStatus cStatus = statusDAO.findByCaseStatusPK(caseeStatus);
      Casee casee = caseDAO.findByCaseePKWithRef(caseeId);
      casee.setBusinessStatus(cStatus);
      caseDAO.updateCasee(casee);

In caseDAO.findByCaseePKWithRef :
      em = emf.createEntityManager();
      em.joinTransaction();
      result = (Casee)em.find(Casee.class, caseID);
      em.close();
In statusDAO.findByCaseStatusPK :
      em = emf.createEntityManager();
      em.joinTransaction();
      result = (CaseStatus)em.find(CaseStatus.class, statusCode);
      em.close();

In caseDAO.updateCasee :
      em = emf.createEntityManager();
      em.joinTransaction();
      Casee mergedcasee = em.merge(casee);
      em.flush();
      em.close();

4. Then at the end of the sca component updateCaseStatus method, such
errors throwed.

com.ibm.sbs.cci.dao.DAOException: <openjpa-1.2.0-r422266:683325 fatal
general error> org.apache.openjpa.persistence.PersistenceException: DB2 SQL
error: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;DB2ADMIN.CASEESQLCA
OUTPUT[Errp=SQLDMISR, Errd=-2146893819, 5, 0, 0, -957, 0]
DB2 SQL error: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;DB2ADMIN.CASEE
FailedObject: prepstmnt 315232970 INSERT INTO DB2ADMIN.CASEE (CASEID,
CREATIONTIME, EFFECTIVEDATE, ENDDATE, EXPIRYDATE,
CASESTATUS_BUSINESSSTATUS, CASETYPE_CASETYPE) VALUES (?, ?, ?, ?, ?, ?, ?)
[org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement]
      at com.ibm.sbs.cci.dao.AbstractCaseeDAO.updateCasee(
AbstractCaseeDAO.java:104)
      at com.ibm.sbs.cci.CaseMgmtImpl.updateCaseStatus(
CaseMgmtImpl.java:129)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:79)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:618)
      at com.ibm.ws.sca.internal.java.handler.JavaReflectionAdapter$2.run(
JavaReflectionAdapter.java:152)
      at java.security.AccessController.doPrivileged(
AccessController.java:197)
      at com.ibm.ws.sca.internal.java.handler.JavaReflectionAdapter.invoke(
JavaReflectionAdapter.java:149)
      at
com.ibm.ws.sca.internal.java.handler.JavaImplementationHandler.invokeSync(
JavaImplementationHandler.java:447)
      at
com.ibm.ws.sca.internal.java.handler.JavaImplementationHandler.processMessage(
JavaImplementationHandler.java:195)
      at
com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessageWithPCI(
MessageDispatcherImpl.java:714)
      at
com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage(
MessageDispatcherImpl.java:1166)
      at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process(
ManagedMessageImpl.java:821)
      at
com.ibm.wsspi.sca.ejb.module.impl.ModuleSessionBean.processUOWMessage(
ModuleSessionBean.java:338)
      at
com.ibm.wsspi.sca.ejb.module.impl.ModuleSessionBean.transactionRequiredActivitySessionNotSupported(
ModuleSessionBean.java:311)
      at
com.ibm.wsspi.sca.ejb.module.EJSLocalStatelessModule_43132892.transactionRequiredActivitySessionNotSupported(
EJSLocalStatelessModule_43132892.java:233)
      at
com.ibm.ws.sca.internal.uow.handler.UOWStrategyImpl.transactionGlobalActivitySessionFalse(
UOWStrategyImpl.java:311)
      at com.ibm.ws.sca.internal.uow.handler.JoinUOWHandler.processMessage(
JoinUOWHandler.java:165)
      at
com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessageWithPCI(
MessageDispatcherImpl.java:725)
      at
com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage(
MessageDispatcherImpl.java:1166)
      at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process(
ManagedMessageImpl.java:812)
      at
com.ibm.wsspi.sca.ejb.module.impl.ModuleSessionBean.processMessage(
ModuleSessionBean.java:149)
      at
com.ibm.wsspi.sca.ejb.module.EJSLocalStatelessModule_43132892.processMessage(
EJSLocalStatelessModule_43132892.java:97)
      at
com.ibm.wbit.comptest.controller.invocation.impl.AdhocInvoker.processMessage(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.invocation.impl.Invoker.managedInvoke(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.invocation.impl.Invoker.invoke(Unknown
Source)
      at
com.ibm.wbit.comptest.controller.invocation.impl.BaseInvocationHandler.invoke(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager.doInvoke(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager$1.run(Unknown
 Source)
      at java.security.AccessController.doPrivileged(
AccessController.java:219)
      at javax.security.auth.Subject.doAs(Subject.java:495)
      at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:118)
      at
com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager.invoke(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.command.impl.BaseCommandHandler.doCommand(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.command.impl.CommandProcessor.doCommand(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.command.impl.CommandProcessor.doCommand(Unknown
 Source)
      at com.ibm.wbit.comptest.servlet.TestControllerServlet.process(
TestControllerServlet.java:76)
      at com.ibm.wbit.comptest.servlet.TestControllerServlet.doPost(
TestControllerServlet.java:51)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(
ServletWrapper.java:995)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(
ServletWrapper.java:501)
      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(
ServletWrapper.java:464)
      at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(
CacheServletWrapper.java:90)
      at com.ibm.ws.webcontainer.WebContainer.handleRequest(
WebContainer.java:744)
      at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(
WebContainer.java:1455)
      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(
WCChannelLink.java:113)
      at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(
HttpInboundLink.java:454)
      at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(
HttpInboundLink.java:383)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(
HttpInboundLink.java:263)
      at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(
NewConnectionInitialReadCallback.java:214)
      at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(
NewConnectionInitialReadCallback.java:113)
      at
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(
AioReadCompletionListener.java:165)
      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(
AbstractAsyncFuture.java:217)
      at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(
AsyncChannelFuture.java:161)
      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(
ResultHandler.java:743)
      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
Caused by: <openjpa-1.2.0-r422266:683325 fatal general error>
org.apache.openjpa.persistence.PersistenceException: DB2 SQL error:
SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;DB2ADMIN.CASEESQLCA
OUTPUT[Errp=SQLDMISR, Errd=-2146893819, 5, 0, 0, -957, 0]
DB2 SQL error: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;DB2ADMIN.CASEE
FailedObject: prepstmnt 315232970 INSERT INTO DB2ADMIN.CASEE (CASEID,
CREATIONTIME, EFFECTIVEDATE, ENDDATE, EXPIRYDATE,
CASESTATUS_BUSINESSSTATUS, CASETYPE_CASETYPE) VALUES (?, ?, ?, ?, ?, ?, ?)
[org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement]
      at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(
DBDictionary.java:4238)
      at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(
DBDictionary.java:4203)
      at org.apache.openjpa.jdbc.sql.DB2Dictionary.newStoreException(
DB2Dictionary.java:503)
      at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(
SQLExceptions.java:102)
      at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(
SQLExceptions.java:72)
      at
org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushBatch(
BatchingPreparedStatementManagerImpl.java:195)
      at org.apache.openjpa.jdbc.kernel.MyUpdateManager.flush(
MyUpdateManager.java:357)
      at org.apache.openjpa.jdbc.kernel.MyUpdateManager.flush(
MyUpdateManager.java:77)
      at org.apache.openjpa.jdbc.kernel.MyUpdateManager.flush(
MyUpdateManager.java:60)
      at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(
JDBCStoreManager.java:655)
      at org.apache.openjpa.kernel.DelegatingStoreManager.flush(
DelegatingStoreManager.java:130)
      at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010)
      at org.apache.openjpa.kernel.BrokerImpl.flushSafe(
BrokerImpl.java:1908)
      at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1679)
      at org.apache.openjpa.kernel.DelegatingBroker.flush(
DelegatingBroker.java:989)
      at org.apache.openjpa.persistence.EntityManagerImpl.flush(
EntityManagerImpl.java:592)
      at com.ibm.sbs.cci.dao.AbstractCaseeDAO.updateCasee(
AbstractCaseeDAO.java:98)
      ... 60 more
Caused by: com.ibm.websphere.ce.cm.DuplicateKeyException: DB2 SQL error:
SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;DB2ADMIN.CASEE
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(
NativeConstructorAccessorImpl.java:67)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:522)
      at
com.ibm.websphere.rsadapter.GenericDataStoreHelper.mapExceptionHelper(
GenericDataStoreHelper.java:523)
      at com.ibm.websphere.rsadapter.GenericDataStoreHelper.mapException(
GenericDataStoreHelper.java:578)
      at com.ibm.ws.rsadapter.jdbc.WSJdbcUtil.mapException(
WSJdbcUtil.java:903)
      at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeUpdate(
WSJdbcPreparedStatement.java:626)
      at
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(
DelegatingPreparedStatement.java:269)
      at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(
LoggingConnectionDecorator.java:864)
      at
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(
DelegatingPreparedStatement.java:269)
      at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(
JDBCStoreManager.java:1504)
      at
org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(
PreparedStatementManagerImpl.java:151)
      at
org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushSingleRow(
BatchingPreparedStatementManagerImpl.java:217)
      at
org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushBatch(
BatchingPreparedStatementManagerImpl.java:156)
      ... 71 more

[08-10-15 16:51:08:718 CST] 00000074 RegisteredSyn E   WTRN0074E: 从
before_completion 同步操作捕获异常:<openjpa-1.2.0-r422266:683325 nonfatal
user error> org.apache.openjpa.persistence.InvalidStateException:
Encountered unmanaged object in persistent field
"com.ibm.sbs.cci.pojo.Casee.businessStatus" during flush.  However, this
field does not allow cascade persist. Set the cascade attribute for this
field to CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or
"persist" or "all" (JPA orm.xml), or enable cascade-persist globally, or
manually persist the related field value prior to flushing. You cannot
flush unmanaged objects or graphs that have persistent associations to
unmanaged objects.
FailedObject: com.ibm.sbs.cci.pojo.CaseStatus-APPROVED
      at org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(
SingleFieldManager.java:753)
      at org.apache.openjpa.kernel.SingleFieldManager.preFlush(
SingleFieldManager.java:594)
      at org.apache.openjpa.kernel.SingleFieldManager.preFlush(
SingleFieldManager.java:562)
      at org.apache.openjpa.kernel.SingleFieldManager.preFlush(
SingleFieldManager.java:478)
      at org.apache.openjpa.kernel.StateManagerImpl.preFlush(
StateManagerImpl.java:2828)
      at org.apache.openjpa.kernel.PDirtyState.beforeFlush(
PDirtyState.java:37)
      at org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(
StateManagerImpl.java:959)
      at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1948)
      at org.apache.openjpa.kernel.BrokerImpl.flushSafe(
BrokerImpl.java:1908)
      at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(
BrokerImpl.java:1826)
      at
org.apache.openjpa.ee.WASManagedRuntime$WASSynchronization.beforeCompletion(
WASManagedRuntime.java:304)
      at
com.ibm.ws.jtaextensions.SynchronizationCallbackWrapper.beforeCompletion(
SynchronizationCallbackWrapper.java:65)
      at com.ibm.ws.Transaction.JTA.RegisteredSyncs.distributeBefore(
RegisteredSyncs.java:242)
      at com.ibm.ws.Transaction.JTA.TransactionImpl.prePrepare(
TransactionImpl.java:2398)
      at com.ibm.ws.Transaction.JTA.TransactionImpl.stage1CommitProcessing(
TransactionImpl.java:1631)
      at com.ibm.ws.Transaction.JTA.TransactionImpl.processCommit(
TransactionImpl.java:1602)
      at com.ibm.ws.Transaction.JTA.TransactionImpl.commit(
TransactionImpl.java:1537)
      at com.ibm.ws.Transaction.JTA.TranManagerImpl.commit(
TranManagerImpl.java:239)
      at com.ibm.ws.Transaction.JTA.TranManagerSet.commit(
TranManagerSet.java:163)
      at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:756)
      at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:181)
      at com.ibm.ejs.csi.TransactionControlImpl.postInvoke(
TransactionControlImpl.java:581)
      at com.ibm.ejs.container.EJSContainer.postInvoke(
EJSContainer.java:3910)
      at
com.ibm.wsspi.sca.ejb.module.EJSLocalStatelessModule_43132892.transactionRequiredActivitySessionNotSupported(
EJSLocalStatelessModule_43132892.java:244)
      at
com.ibm.ws.sca.internal.uow.handler.UOWStrategyImpl.transactionGlobalActivitySessionFalse(
UOWStrategyImpl.java:311)
      at com.ibm.ws.sca.internal.uow.handler.JoinUOWHandler.processMessage(
JoinUOWHandler.java:165)
      at
com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessageWithPCI(
MessageDispatcherImpl.java:725)
      at
com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage(
MessageDispatcherImpl.java:1166)
      at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process(
ManagedMessageImpl.java:812)
      at
com.ibm.wsspi.sca.ejb.module.impl.ModuleSessionBean.processMessage(
ModuleSessionBean.java:149)
      at
com.ibm.wsspi.sca.ejb.module.EJSLocalStatelessModule_43132892.processMessage(
EJSLocalStatelessModule_43132892.java:97)
      at
com.ibm.wbit.comptest.controller.invocation.impl.AdhocInvoker.processMessage(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.invocation.impl.Invoker.managedInvoke(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.invocation.impl.Invoker.invoke(Unknown
Source)
      at
com.ibm.wbit.comptest.controller.invocation.impl.BaseInvocationHandler.invoke(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager.doInvoke(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager$1.run(Unknown
 Source)
      at java.security.AccessController.doPrivileged(
AccessController.java:219)
      at javax.security.auth.Subject.doAs(Subject.java:495)
      at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:118)
      at
com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager.invoke(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.command.impl.BaseCommandHandler.doCommand(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.command.impl.CommandProcessor.doCommand(Unknown
 Source)
      at
com.ibm.wbit.comptest.controller.command.impl.CommandProcessor.doCommand(Unknown
 Source)
      at com.ibm.wbit.comptest.servlet.TestControllerServlet.process(
TestControllerServlet.java:76)
      at com.ibm.wbit.comptest.servlet.TestControllerServlet.doPost(
TestControllerServlet.java:51)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(
ServletWrapper.java:995)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(
ServletWrapper.java:501)
      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(
ServletWrapper.java:464)
      at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(
CacheServletWrapper.java:90)
      at com.ibm.ws.webcontainer.WebContainer.handleRequest(
WebContainer.java:744)
      at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(
WebContainer.java:1455)
      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(
WCChannelLink.java:113)
      at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(
HttpInboundLink.java:454)
      at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(
HttpInboundLink.java:383)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(
HttpInboundLink.java:263)
      at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(
NewConnectionInitialReadCallback.java:214)
      at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(
NewConnectionInitialReadCallback.java:113)
      at
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(
AioReadCompletionListener.java:165)
      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(
AbstractAsyncFuture.java:217)
      at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(
AsyncChannelFuture.java:161)
      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(
ResultHandler.java:743)
      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)

5. According to my analysis,

      CaseStatus cStatus = statusDAO.findByCaseStatusPK(caseeStatus);   ---
cStatus with StateManagerImpl & PNonTransState
      Casee casee = caseDAO.findByCaseePKWithRef(caseeId);              ---
casee with StateManagerImpl & PNonTransState
      casee.setBusinessStatus(cStatus);                                 ---
casee with StateManagerImpl & PDirtyState
      caseDAO.updateCasee(casee);                                       ---
in updateCasee method, casee(PDirtyTransState -> PNewState)

      em = emf.createEntityManager();
      em.joinTransaction();
      Casee mergedcasee = em.merge(casee);                              ---
casee with StateManagerImpl & PDirtyState
                                                                        ---
mergedcasee with StateManagerImpl & PNewState
      em.flush();                                                       ---
Here, a record would be inserted into DB
      em.close();

So anyone could help me out of this error?

Hongjin Lu (鲁红金)
Developer, GCG Global Business Solution Centre (GBSC) - GBS Asset
Management@CDL
Tel: +86 10 82454718, TieLine: 9152244 x 4718, Fax: +86-10-8245-2904
E-mail: luhongj@cn.ibm.com
Address: 3/F DeShi Building, No. 9 ShangDi Dong Lu (East Road)  Haidian
District Beijing, 100094 P.R. China
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message