Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Result set already closed

Filip HuysmansDec 3 2012 — edited Dec 3 2012
Hi everyone,

I know that there are already several threats on this issue, but none of them seems to sovle my issue.
Hence, I'll try it again.

JDeveloper: 11.1.1.3.0

Action: Doing a delete of a row in an entity-based view object, doing a commit. Doing the exact same thing again, but now with an error : java.sql.SQLException: Result set already closed

I'm unable to reproduce in a simple case.
I tried to remove the commit statement, without success.
I tried the following code:
      Map sessionMap;
      BindingContext context;
      String currentFrameName;
      DataControlFrame dcFrame;

      sessionMap = FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
      context = (BindingContext)sessionMap.get(BindingContext.CONTEXT_ID);
      currentFrameName = context.getCurrentDataControlFrame();
      dcFrame = context.findDataControlFrame(currentFrameName);
      dcFrame.commit();
      dcFrame.beginTransaction(null); 
Also without success.

This is my original java code:
        OperationBinding deleteOper =
            ADFUtils.findOperation(OPERATION_DELETEINVOICE);
        deleteOper.execute();
        List errors = deleteOper.getErrors();
        if (errors != null && !errors.isEmpty()) {
            for (Object o : errors) {
                logger.severe("Error during delete invoice : " + o + "-----" +
                              o.getClass());
            }
        }
        //Committing the transaction
        OperationBinding commitOper = ADFUtils.findOperation(OPERATION_COMMIT);
        commitOper.execute();
        errors = commitOper.getErrors();
        if (errors != null && !errors.isEmpty()) {
            for (Object o : errors) {
                logger.severe("Error during commit delete invoice : " + o +
                              "-----" + o.getClass());
            }
        }
Does anyone have any idea's to tackle this problem?

Thank you in advance.

Filip Huysmans.
<InvoiceFlowManagedBean><removeInvoice> Error during delete invoice : oracle.jbo.AttributeLoadException: JBO-27022: Kan waarde niet laden bij index 1 met Java-object van type java.lang.Integer vanwege java.sql.SQLException.-----class oracle.jbo.AttributeLoadException
<Utils><buildFacesMessage> ADF: Adding the following JSF error message: Result set already closed
java.sql.SQLException: Result set already closed
	at weblogic.jdbc.wrapper.ResultSet.checkResultSet(ResultSet.java:110)
	at weblogic.jdbc.wrapper.ResultSet.preInvocationHandler(ResultSet.java:65)
	at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.getInt(Unknown Source)
	at oracle.jbo.common.IntegerTypeSQLNativeImpl.getDataFromResultSet(JboTypeMapEntries.java:506)
	at oracle.jbo.server.AttributeDefImpl.loadFromResultSet(AttributeDefImpl.java:2318)
	at oracle.jbo.server.ViewRowImpl.populate(ViewRowImpl.java:3622)
	at oracle.jbo.server.ViewDefImpl.createInstanceFromResultSet(ViewDefImpl.java:2203)
	at oracle.jbo.server.ViewObjectImpl.createRowFromResultSet(ViewObjectImpl.java:5325)
	at oracle.jbo.server.ViewObjectImpl.createInstanceFromResultSet(ViewObjectImpl.java:5174)
	at oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:3304)
	at oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:3164)
	at oracle.jbo.server.QueryCollection.get(QueryCollection.java:2154)
	at oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:4853)
	at oracle.jbo.server.ViewRowSetIteratorImpl.doFetch(ViewRowSetIteratorImpl.java:2914)
	at oracle.jbo.server.ViewRowSetIteratorImpl.notifyRowDeleted(ViewRowSetIteratorImpl.java:3141)
	at oracle.jbo.server.ViewRowSetImpl.notifyRowDeleted(ViewRowSetImpl.java:1964)
	at oracle.jbo.server.ViewObjectImpl.notifyRowDeleted(ViewObjectImpl.java:10729)
	at oracle.jbo.server.ViewObjectImpl.notifyRowDeleted(ViewObjectImpl.java:10767)
	at oracle.jbo.server.QueryCollection.removeRow(QueryCollection.java:4038)
	at oracle.jbo.server.QueryCollection.afterRemove(QueryCollection.java:4003)
	at oracle.jbo.server.ViewObjectImpl.sourceChanged(ViewObjectImpl.java:12662)
	at oracle.jbo.server.EntityCache.sendEvent(EntityCache.java:1354)
	at oracle.jbo.server.EntityCache.deliverEntityEvent(EntityCache.java:1370)
	at oracle.jbo.server.EntityCache.notifyStateChange(EntityCache.java:1499)
	at oracle.jbo.server.EntityImpl.setState(EntityImpl.java:4895)
	at oracle.jbo.server.EntityImpl.remove(EntityImpl.java:8477)
	at oracle.jbo.server.ViewRowImpl.doRemove(ViewRowImpl.java:3196)
	at oracle.jbo.server.ViewRowImpl.remove(ViewRowImpl.java:3241)
	at oracle.jbo.server.QueryCollection.doRemove(QueryCollection.java:2425)
	at oracle.jbo.server.QueryCollection.remove(QueryCollection.java:2448)
	at oracle.jbo.server.ViewRowSetImpl.removeRowAt(ViewRowSetImpl.java:2396)
	at oracle.jbo.server.ViewRowSetIteratorImpl.doRemoveCurrentRow(ViewRowSetIteratorImpl.java:2448)
	at oracle.jbo.server.ViewRowSetIteratorImpl.removeCurrentRow(ViewRowSetIteratorImpl.java:2473)
	at oracle.jbo.server.ViewRowSetImpl.removeCurrentRow(ViewRowSetImpl.java:3252)
	at oracle.jbo.server.ViewObjectImpl.removeCurrentRow(ViewObjectImpl.java:9965)
	at oracle.adf.model.binding.DCIteratorBinding.removeCurrentRow(DCIteratorBinding.java:2675)
	at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1283)
	at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2141)
	at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:730)
	at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:394)
	at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
	at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)
	at be.fgov.health.mediflow.medicalcosts.view.bean.InvoiceFlowManagedBean.removeInvoice(InvoiceFlowManagedBean.java:957)
	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.sun.el.parser.AstValue.invoke(AstValue.java:157)
	at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
	at be.fgov.health.mediflow.medicalcosts.view.util.JSFUtils.resolveMethodExpression(JSFUtils.java:96)
	at be.fgov.health.mediflow.medicalcosts.components.bean.RemoveConfirmationManagedBean.performRemove(RemoveConfirmationManagedBean.java:59)
	
This post has been answered by Jan Vervecken on Dec 3 2012
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 31 2012
Added on Dec 3 2012
1 comment
987 views