Marcin,
Both features (result list caching and query pagination) are not yet
supported by CayenneContext (and therefore not available on the
client). I am working on something else right now, but I am planning
to add this in the nearest future.
Andrus
On Jan 29, 2006, at 5:58 PM, Marcin Skladaniec wrote:
> Hello !
> I would like to ask about paging in cayenne 3t. From what I see it
> doesn't work, is it possible to implement this feature ?
>
> Another thing is caching. I'm creating a shared context:
>
> public static CayenneContext getSharedContext() {
> if (sharedContext == null) {
> //create the sharedContext
> logger.info("#### Creating new connection to : " + URL);
> try {
> OPPConnection connection = new HessianConnection(
> URL,
> ClientID,
> ClientPass,
> "shared-session");
>
> // enable channel events
> OPPServerChannel channel = new OPPServerChannel
> (connection, true);
>
> // trace ALL context local and remote events ...
> must keep references to listeners
> // to avoid deallocation
> EventTrace contextTrace = new EventTrace("context-
> event");
> EventTrace channelTrace = new EventTrace("channel-
> event");
> ObjectContextUtils.listenForContextEvents(channel,
> contextTrace);
> ObjectContextUtils.listenForChannelEvents
> (channel.getEventManager(), channelTrace);
>
> // enable graph events
> sharedContext = new CayenneContext(channel, true,
> true);
> } catch
> (org.objectstyle.cayenne.CayenneRuntimeException ex) {
> logger.error(ex);
> }
> }
> return sharedContext;
> }
>
> then if I create a query like this :
> SelectQuery qual = new SelectQuery(persistentClass);
> qual.setCachePolicy(GenericSelectQuery.LOCAL_CACHE); //tried
> GenericSelectQuery.SHARED_CACHE - no difference
> qual.setPageSize(50);
> List recordList = getSharedContext().performQuery(qual);
>
> to fetch 65.000 records. Memory usage on server hits 200Mb, but its
> fine. Copying records to client takes aprox. 30 secods, but all
> this issues could be fixed with paging. When I then repeat this
> query I can see server sending a query to the database, and memory
> usage on server hits 400Mb -> is that all right ? I would imagine
> that if the records are cached on server there is no need to re-
> fetching them, so I think there could be some problem with caching
> or with my code. What am I doing wrong ?
>
> Regards
> Marcin
>
>
>
>
>
This archive was generated by hypermail 2.0.0 : Sun Jan 29 2006 - 18:02:41 EST