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.