3 Replies Latest reply: Apr 24, 2013 8:35 AM by JamesSutherland RSS

    Moving to EclipseLink 2.3.2 gives issues with "Statement is closed"

    1003363
      Hi,
      We have existing env running with WebSphere, Oracle, Toplink without any issues.

      Dev have upgraded EclipseLink to EclipseLink 2.3.2 version and during test, we found following exceptions and our transactions are failing.

      We see following exceptions in WebSphere.

      Any suggestions ??

      #####################
      ] FFDC Exception:javax.persistence.PersistenceException SourceId:com.ibm.ejs.container.LocalExceptionMappingStrategy.setUncheckedException ProbeId:178 Reporter:com.ibm.ejs.container.LocalExceptionMappingStrategy@3fddaf9a
      javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
      Internal Exception: com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: Statement is closed.Error Code: 0
      Call: UPDATE REQUEST_JOBS SET LAST_UPDATED_BY = 'PMSInterface', LAST_UPDATED_WHEN = to_timestamp('2013-04-15 09:23:06.964','yyyy-mm-dd HH24:MI:SS.FF'), VERSION_NUMBER = 43 WHERE ((REQUEST_ID = 1111111) AND (VERSION_NUMBER = 42))
      Query: UpdateObjectQuery(ID: 1111111)
      at org.eclipse.persistence.internal.jpa.EntityManagerImpl.flush(EntityManagerImpl.java:786)
      at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQueryHelperBodyAudited(UnitOfWorkHolder.java:798)
      at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQueryHelperBody(UnitOfWorkHolder.java:781)
      at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.access$100(UnitOfWorkHolder.java:82)
      at com.saic.ct.sys.persistence.common.UnitOfWorkHolder$2.executeWithReturn(UnitOfWorkHolder.java:772)
      at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.workaroundConcurrentModificationException(UnitOfWorkHolder.java:424)
      at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQueryHelper(UnitOfWorkHolder.java:769)
      at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQuery(UnitOfWorkHolder.java:728)
      at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQuery(UnitOfWorkHolder.java:758)
      at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQuery(UnitOfWorkHolder.java:649)
      at com.saic.ct.sys.persistence.common.BaseDAO.executeSelectingCallQuery(BaseDAO.java:1712)
      at com.saic.ct.sys.persistence.common.BaseDAO.executeSelectingCallQuery(BaseDAO.java:1681)
      at com.saic.ct.sys.persistence.person.PersonDAO.getCurrentEmploymentSummaries(PersonDAO.java:1818)
      at com.saic.ct.sys.persistence.person.PersonDAO.findCurrentEmploymentSummaries(PersonDAO.java:1852)
      at com.saic.ct.sys.svc.person.CurrentEmploymentSummaryManager.findCurrentEmploymentSummariesBase(CurrentEmploymentSummaryManager.java:465)
      at com.saic.ct.sys.svc.person.CurrentEmploymentSummaryManager.findExactDateCurrentEmploymentSummaries(CurrentEmploymentSummaryManager.java:333)
      at com.saic.ct.sys.svc.person.CurrentEmploymentSummarySvcEJB.findExactDateCurrentEmploymentSummaries(CurrentEmploymentSummarySvcEJB.java:223)
      at com.saic.ct.sys.svc.person.EJSLocalCSLCurrentEmploymentSummarySvcEJB_7634f201.findExactDateCurrentEmploymentSummaries(EJSLocalCSLCurrentEmploymentSummarySvcEJB_7634f201.java)
      at com.saic.ct.sys.svc.workflow.WorkflowManager.getCurrentEmploymentSummary(WorkflowManager.java:1658)
      at com.saic.ct.sys.svc.workflow.WorkflowManager.getWorkflowConfigModel(WorkflowManager.java:1622)
      at com.saic.ct.sys.svc.workflow.WorkflowManager.getWorkflowConfig(WorkflowManager.java:1582)
      at com.saic.ct.sys.svc.workflow.WorkflowManager.getWorkflowConfigVal(WorkflowManager.java:395)
      at com.saic.ct.sys.svc.workflow.WorkflowManager.processWorkflowRouting(WorkflowManager.java:846)
      at com.saic.ct.sys.svc.workflow.WorkflowSvcEJB.processWorkflowRouting(WorkflowSvcEJB.java:313)
      at com.saic.ct.sys.svc.workflow.EJSLocalCSLWorkflowSvcEJB_6f2693df.processWorkflowRouting(EJSLocalCSLWorkflowSvcEJB_6f2693df.java)
      at com.saic.ct.sys.svc.job.JobSvcEJB.reprocess(JobSvcEJB.java:1105)
      at com.saic.ct.sys.svc.job.JobSvcEJB.advanceJobStateAndCreateReprocessingEventIfJobFailed(JobSvcEJB.java:1263)
      at com.saic.ct.sys.svc.job.JobSvcEJB.handleExistingPlee(JobSvcEJB.java:1135)
      at com.saic.ct.sys.svc.job.JobSvcEJB.processPLTR(JobSvcEJB.java:772)
      at com.saic.ct.sys.svc.job.JobSvcEJB.processPLTR(JobSvcEJB.java:736)
      at com.saic.ct.sys.svc.job.EJSLocalCSLJobSvcEJB_b617bb57.processPLTR(EJSLocalCSLJobSvcEJB_b617bb57.java)
      at com.saic.ct.sys.svc.person.PersonSvcEJB$1.executeForEachItem(PersonSvcEJB.java:1025)
      at com.saic.ct.sys.domain.common.PMSCallbackLoop.calledForEachItem(PMSCallbackLoop.java:59)
      at com.saic.ct.sys.svc.common.OneTransactionByItem$1.execute(OneTransactionByItem.java:53)
      at com.saic.ct.sys.svc.common.LookupSvcEJB.executeInNewTransaction(LookupSvcEJB.java:195)
      at com.saic.ct.sys.svc.common.EJSLocalCSLLookupSvcEJB_bf981ab1.executeInNewTransaction(EJSLocalCSLLookupSvcEJB_bf981ab1.java)
      at com.saic.ct.sys.svc.common.OneTransactionByItem.executeItem(OneTransactionByItem.java:21)
      at com.saic.ct.sys.domain.common.DefaultTransaction.execute(DefaultTransaction.java:46)
      at com.saic.ct.sys.svc.common.ManyItemsByTransaction.switchToOneTransactionByItem(ManyItemsByTransaction.java:70)
      at com.saic.ct.sys.svc.common.ManyItemsByTransaction.execute(ManyItemsByTransaction.java:45)
      at com.saic.ct.sys.svc.common.PMSExecutor.execute(PMSExecutor.java:17)
      at com.saic.ct.sys.svc.person.PersonSvcEJB.executeCallBack(PersonSvcEJB.java:5808)
      at com.saic.ct.sys.svc.person.PersonSvcEJB.processPMSPerson(PersonSvcEJB.java:1041)
      at com.saic.ct.sys.svc.person.PersonSvcEJB.processConsolidatedEmploymentMessage(PersonSvcEJB.java:942)
      at com.saic.ct.sys.svc.person.EJSLocalCSLPersonSvcEJB_274c11fa.processConsolidatedEmploymentMessage(EJSLocalCSLPersonSvcEJB_274c11fa.java)
      at com.saic.ct.sys.svc.agent.pms.EmploymentDeltaAgent.execute(EmploymentDeltaAgent.java:65)
      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:597)
      at com.saic.ct.sys.svc.pms.PmsDataProcessor.invokeAgent(PmsDataProcessor.java:202)
      at com.saic.ct.sys.svc.pms.PmsDataProcessor.invokeServiceAgent(PmsDataProcessor.java:131)
      at com.saic.ct.sys.svc.pms.PmsDataProcessor.processMessage(PmsDataProcessor.java:94)
      at com.saic.ct.sys.svc.pms.EmployeeMDB.processPMSMessage(EmployeeMDB.java:57)
      at com.saic.ct.sys.svc.common.PMSMDB.processMessage(PMSMDB.java:56)
      at com.saic.ct.sys.svc.common.BaseMDB.onMessage(BaseMDB.java:97)
      at com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java:1093)
      at com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHandler.java:778)
      at $Proxy28.onMessage(Unknown Source)
      at com.ibm.mq.connector.inbound.MessageEndpointWrapper.onMessage(MessageEndpointWrapper.java:131)
      at com.ibm.mq.jms.MQSession$FacadeMessageListener.onMessage(MQSession.java:147)
      at com.ibm.msg.client.jms.internal.JmsSessionImpl.run(JmsSessionImpl.java:2846)
      at com.ibm.mq.jms.MQSession.run(MQSession.java:862)
      at com.ibm.mq.connector.inbound.WorkImpl.run(WorkImpl.java:297)
      at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:399)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1613)
      Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
      Internal Exception: com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: Statement is closed.
      Error Code: 0
      Call: UPDATE REQUEST_JOBS SET LAST_UPDATED_BY = 'PMSInterface', LAST_UPDATED_WHEN = to_timestamp('2013-04-15 09:23:06.964','yyyy-mm-dd HH24:MI:SS.FF'), VERSION_NUMBER = 43 WHERE ((REQUEST_ID = 1111111) AND (VERSION_NUMBER = 42))
      Query: UpdateObjectQuery(ID: 1111111)



      #############

      Edited by: 1000360 on Apr 16, 2013 1:43 PM

      Edited by: 1000360 on Apr 16, 2013 1:44 PM
        • 1. Re: Moving to EclipseLink 2.3.2 gives issues with "Statement is closed"
          JamesSutherland
          What version did you upgrade from? Was this the only change, and did this error not occur previously?

          Can you include the caused by stack.

          It may have something to do this statement caching, have you enabled statement caching?

          You seem to not be using binding, which is not recommended, can you try with binding?
          • 2. Re: Moving to EclipseLink 2.3.2 gives issues with "Statement is closed"
            1003363
            Thank you for prompt reply and sorry for delay in providing info. We need your help.

            Here are the requsted info:
            ##############
            We upgraded from EclipseLink 2.2.0 where the error did not occur. We made some non-trivial changes to make the upgrade to *2.3.2*.

            We do not have statement caching or parameter binding at the project level. We enable binding for certain persistent objects, primarily for named queries.

            ###########

            Detailed Stack Trace:
            [4/15/13 9:24:42:040 EDT] FFDC Exception:javax.persistence.PersistenceException SourceId:com.ibm.ejs.container.LocalExceptionMappingStrategy.setUncheckedException ProbeId:178 Reporter:com.ibm.ejs.container.LocalExceptionMappingStrategy@3fddaf9a
            javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
            Internal Exception: com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: Statement is closed.
            Error Code: 0
            Call: UPDATE REQUEST_JOBS SET LAST_UPDATED_BY = 'PMSInterface', LAST_UPDATED_WHEN = to_timestamp('2013-04-15 09:23:06.964','yyyy-mm-dd HH24:MI:SS.FF'), VERSION_NUMBER = 43 WHERE ((REQUEST_ID = 2569261) AND (VERSION_NUMBER = 42))
            Query: UpdateObjectQuery(ID: 2569261)
            at org.eclipse.persistence.internal.jpa.EntityManagerImpl.flush(EntityManagerImpl.java:786)
            at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQueryHelperBodyAudited(UnitOfWorkHolder.java:798)
            at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQueryHelperBody(UnitOfWorkHolder.java:781)
            at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.access$100(UnitOfWorkHolder.java:82)
            at com.saic.ct.sys.persistence.common.UnitOfWorkHolder$2.executeWithReturn(UnitOfWorkHolder.java:772)
            at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.workaroundConcurrentModificationException(UnitOfWorkHolder.java:424)
            at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQueryHelper(UnitOfWorkHolder.java:769)
            at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQuery(UnitOfWorkHolder.java:728)
            at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQuery(UnitOfWorkHolder.java:758)
            at com.saic.ct.sys.persistence.common.UnitOfWorkHolder.executeQuery(UnitOfWorkHolder.java:649)
            at com.saic.ct.sys.persistence.common.BaseDAO.executeSelectingCallQuery(BaseDAO.java:1712)
            at com.saic.ct.sys.persistence.common.BaseDAO.executeSelectingCallQuery(BaseDAO.java:1681)
            at com.saic.ct.sys.persistence.person.PersonDAO.getCurrentEmploymentSummaries(PersonDAO.java:1818)
            at com.saic.ct.sys.persistence.person.PersonDAO.findCurrentEmploymentSummaries(PersonDAO.java:1852)
            at com.saic.ct.sys.svc.person.CurrentEmploymentSummaryManager.findCurrentEmploymentSummariesBase(CurrentEmploymentSummaryManager.java:465)
            at com.saic.ct.sys.svc.person.CurrentEmploymentSummaryManager.findExactDateCurrentEmploymentSummaries(CurrentEmploymentSummaryManager.java:333)
            at com.saic.ct.sys.svc.person.CurrentEmploymentSummarySvcEJB.findExactDateCurrentEmploymentSummaries(CurrentEmploymentSummarySvcEJB.java:223)
            at com.saic.ct.sys.svc.person.EJSLocalCSLCurrentEmploymentSummarySvcEJB_7634f201.findExactDateCurrentEmploymentSummaries(EJSLocalCSLCurrentEmploymentSummarySvcEJB_7634f201.java)
            at com.saic.ct.sys.svc.workflow.WorkflowManager.getCurrentEmploymentSummary(WorkflowManager.java:1658)
            at com.saic.ct.sys.svc.workflow.WorkflowManager.getWorkflowConfigModel(WorkflowManager.java:1622)
            at com.saic.ct.sys.svc.workflow.WorkflowManager.getWorkflowConfig(WorkflowManager.java:1582)
            at com.saic.ct.sys.svc.workflow.WorkflowManager.getWorkflowConfigVal(WorkflowManager.java:395)
            at com.saic.ct.sys.svc.workflow.WorkflowManager.processWorkflowRouting(WorkflowManager.java:846)
            at com.saic.ct.sys.svc.workflow.WorkflowSvcEJB.processWorkflowRouting(WorkflowSvcEJB.java:313)
            at com.saic.ct.sys.svc.workflow.EJSLocalCSLWorkflowSvcEJB_6f2693df.processWorkflowRouting(EJSLocalCSLWorkflowSvcEJB_6f2693df.java)
            at com.saic.ct.sys.svc.job.JobSvcEJB.reprocess(JobSvcEJB.java:1105)
            at com.saic.ct.sys.svc.job.JobSvcEJB.advanceJobStateAndCreateReprocessingEventIfJobFailed(JobSvcEJB.java:1263)
            at com.saic.ct.sys.svc.job.JobSvcEJB.handleExistingPlee(JobSvcEJB.java:1135)
            at com.saic.ct.sys.svc.job.JobSvcEJB.processPLTR(JobSvcEJB.java:772)
            at com.saic.ct.sys.svc.job.JobSvcEJB.processPLTR(JobSvcEJB.java:736)
            at com.saic.ct.sys.svc.job.EJSLocalCSLJobSvcEJB_b617bb57.processPLTR(EJSLocalCSLJobSvcEJB_b617bb57.java)
            at com.saic.ct.sys.svc.person.PersonSvcEJB$1.executeForEachItem(PersonSvcEJB.java:1025)
            at com.saic.ct.sys.domain.common.PMSCallbackLoop.calledForEachItem(PMSCallbackLoop.java:59)
            at com.saic.ct.sys.svc.common.OneTransactionByItem$1.execute(OneTransactionByItem.java:53)
            at com.saic.ct.sys.svc.common.LookupSvcEJB.executeInNewTransaction(LookupSvcEJB.java:195)
            at com.saic.ct.sys.svc.common.EJSLocalCSLLookupSvcEJB_bf981ab1.executeInNewTransaction(EJSLocalCSLLookupSvcEJB_bf981ab1.java)
            at com.saic.ct.sys.svc.common.OneTransactionByItem.executeItem(OneTransactionByItem.java:21)
            at com.saic.ct.sys.domain.common.DefaultTransaction.execute(DefaultTransaction.java:46)
            at com.saic.ct.sys.svc.common.ManyItemsByTransaction.switchToOneTransactionByItem(ManyItemsByTransaction.java:70)
            at com.saic.ct.sys.svc.common.ManyItemsByTransaction.execute(ManyItemsByTransaction.java:45)
            at com.saic.ct.sys.svc.common.PMSExecutor.execute(PMSExecutor.java:17)
            at com.saic.ct.sys.svc.person.PersonSvcEJB.executeCallBack(PersonSvcEJB.java:5808)
            at com.saic.ct.sys.svc.person.PersonSvcEJB.processPMSPerson(PersonSvcEJB.java:1041)
            at com.saic.ct.sys.svc.person.PersonSvcEJB.processConsolidatedEmploymentMessage(PersonSvcEJB.java:942)
            at com.saic.ct.sys.svc.person.EJSLocalCSLPersonSvcEJB_274c11fa.processConsolidatedEmploymentMessage(EJSLocalCSLPersonSvcEJB_274c11fa.java)
            at com.saic.ct.sys.svc.agent.pms.EmploymentDeltaAgent.execute(EmploymentDeltaAgent.java:65)
            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:597)
            at com.saic.ct.sys.svc.pms.PmsDataProcessor.invokeAgent(PmsDataProcessor.java:202)
            at com.saic.ct.sys.svc.pms.PmsDataProcessor.invokeServiceAgent(PmsDataProcessor.java:131)
            at com.saic.ct.sys.svc.pms.PmsDataProcessor.processMessage(PmsDataProcessor.java:94)
            at com.saic.ct.sys.svc.pms.EmployeeMDB.processPMSMessage(EmployeeMDB.java:57)
            at com.saic.ct.sys.svc.common.PMSMDB.processMessage(PMSMDB.java:56)
            at com.saic.ct.sys.svc.common.BaseMDB.onMessage(BaseMDB.java:97)
            at com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java:1093)
            at com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHandler.java:778)
            at $Proxy28.onMessage(Unknown Source)
            at com.ibm.mq.connector.inbound.MessageEndpointWrapper.onMessage(MessageEndpointWrapper.java:131)
            at com.ibm.mq.jms.MQSession$FacadeMessageListener.onMessage(MQSession.java:147)
            at com.ibm.msg.client.jms.internal.JmsSessionImpl.run(JmsSessionImpl.java:2846)
            at com.ibm.mq.jms.MQSession.run(MQSession.java:862)
            at com.ibm.mq.connector.inbound.WorkImpl.run(WorkImpl.java:297)
            at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:399)
            at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1613)
            Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
            Internal Exception: com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: Statement is closed.
            Error Code: 0
            Call: UPDATE REQUEST_JOBS SET LAST_UPDATED_BY = 'PMSInterface', LAST_UPDATED_WHEN = to_timestamp('2013-04-15 09:23:06.964','yyyy-mm-dd HH24:MI:SS.FF'), VERSION_NUMBER = 43 WHERE ((REQUEST_ID = 2569261) AND (VERSION_NUMBER = 42))
            Query: UpdateObjectQuery(ID: 2569261)
            at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
            at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:840)
            at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:906)
            at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:592)
            at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535)
            at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717)
            at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:253)
            at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
            at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
            at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.updateObject(DatasourceCallQueryMechanism.java:749)
            at org.eclipse.persistence.internal.queries.StatementQueryMechanism.updateObject(StatementQueryMechanism.java:432)
            at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1042)
            at org.eclipse.persistence.queries.UpdateObjectQuery.executeCommitWithChangeSet(UpdateObjectQuery.java:84)
            at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:287)
            at org.eclipse.persistence.queries.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:58)
            at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844)
            at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:743)
            at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:108)
            at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:85)
            at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871)
            at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1516)
            at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1498)
            at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1449)
            at org.eclipse.persistence.internal.sessions.CommitManager.commitChangedObjectsForClassWithChangeSet(CommitManager.java:265)
            at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsForClassWithChangeSet(CommitManager.java:190)
            at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:136)
            at org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:3799)
            at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1415)
            at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.commitToDatabase(RepeatableWriteUnitOfWork.java:636)
            at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithPreBuiltChangeSet(UnitOfWorkImpl.java:1561)
            at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.writeChanges(RepeatableWriteUnitOfWork.java:447)
            at org.eclipse.persistence.internal.jpa.EntityManagerImpl.flush(EntityManagerImpl.java:780)
            ... 65 more
            Caused by: com.ibm.websphere.ce.cm.ObjectClosedException: DSRA9110E: Statement is closed.
            at com.ibm.ws.rsadapter.jdbc.WSJdbcWrapper.createClosedException(WSJdbcWrapper.java:110)
            at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.runtimeXIfNotClosed(WSJdbcStatement.java:1821)
            at com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeUpdate(WSJdbcStatement.java:1145)
            at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:829)
            ... 95 more
            • 3. Re: Moving to EclipseLink 2.3.2 gives issues with "Statement is closed"
              JamesSutherland
              It is odd you update is not using binding, as binding is the default, and strongly recommended. How are you disabling binding?

              What else did you change in the upgrade?

              How is your WebSphere data-source configured? Have you enabled statement caching, or is it enabled by default in WebSphere?
              Do you get this error all of the time or only some of the time, does it occur in all of your objects for some, do all queries trigger the error or only updates?