In my code I would like to set the fetch batch size in order to "speed up"
loading entities:

final OpenJPAQuery ojpaQuery =
OpenJPAPersistence.cast(em.createNamedQuery(myNiceQuery));
ojpaQuery.getFetchPlan().setFetchBatchSize(2000);
final List result = ojpaQuery.getResultList();

The result list should be sent to a RCP client.
Now I wonder why I get java.io.NotSerializableException on the client side
using this feature:

Exception in thread "P=573122:O=0:CT" java.rmi.MarshalException: CORBA
BAD_PARAM 0x4f4d0006 Maybe; nested exception is: 
        java.io.NotSerializableException: 
        >> SERVER (id=4773e3aa, host=myhost.mycompany.com) TRACE START:
        >>    org.omg.CORBA.BAD_PARAM:
org.apache.openjpa.datacache.QueryCacheStoreQuery$CachingResultObjectProvider
is not serializable  vmcid: OMG  minor code: 6 completed: Maybe
        >>       at
com.ibm.rmi.util.Utility.throwNotSerializableForCorba(Utility.java:1661)
        >>       at
com.ibm.rmi.io.IIOPOutputStream.writeValueType(IIOPOutputStream.java:1142)
        >>       at
com.ibm.rmi.io.IIOPOutputStream.writeObjectField(IIOPOutputStream.java:1082)
        >>       at
com.ibm.rmi.io.IIOPOutputStream.outputClassFields(IIOPOutputStream.java:1013)
        >>       at
com.ibm.rmi.io.IIOPOutputStream.outputObject(IIOPOutputStream.java:997)
        >>       at
com.ibm.rmi.io.IIOPOutputStream.continueSimpleWriteObject(IIOPOutputStream.java:484)
        >>       at
com.ibm.rmi.io.IIOPOutputStream.simpleWriteObjectLoop(IIOPOutputStream.java:464)
        >>       at
com.ibm.rmi.io.IIOPOutputStream.simpleWriteObject(IIOPOutputStream.java:528)
        >>       at
com.ibm.rmi.io.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:168)
        >>       at com.ibm.rmi.iiop.CDRWriter.write_value(CDRWriter.java:1195)
        >>       at com.ibm.rmi.iiop.CDRWriter.write_value(CDRWriter.java:1213)
        >>       at
com.ibm.rmi.iiop.CDRWriter.write_abstract_interface(CDRWriter.java:1118)
        >>       at
com.ibm.CORBA.iiop.UtilDelegateImpl.writeAbstractObject(UtilDelegateImpl.java:483)
        >>       at javax.rmi.CORBA.Util.writeAbstractObject(Util.java:148)
        >>       at ...
        >>       at
com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:623)
        >>       at 
com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:476)
        >>       at com.ibm.rmi.iiop.ORB.process(ORB.java:513)
        >>       at com.ibm.CORBA.iiop.ORB.process(ORB.java:1574)
        >>       at com.ibm.rmi.iiop.Connection.respondTo(Connection.java:2845)
        >>       at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2718)
        >>       at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63)
        >>       at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:118)
        >>       at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)
        >> SERVER (id=4773e3aa, host=myhost.mycompany.com) TRACE END.

Please can someone explain what I'm doing wrong? Thank you.
I'm using OpenJPA 1.2.3.

--
View this message in context: 
http://openjpa.208410.n2.nabble.com/Using-FetchPlan-setFetchBatchSize-feature-leads-to-java-io-NotSerializableException-tp6771824p6771824.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Reply via email to