That is basically how it works but only if you have auto-sync enabled=true and 
cache-items=true on your destination settings.   The auto-sync feature requires 
that we maintain at least the identities of all objects managed on every client 
so that we know where to push changes.   The goal here is that you don't have 
to worry about tracking that and can still easily keep clients in sync.   Also, 
if two clients fetch an object with the same id, only one copy is cached.  If 
you turn cache-items=false, we cache only the ids, not the items so we keep a 
lot less state around (though we do have to go back to the assembler more often 
so that is more load on the database).

If you turn auto-sync off, the server maintains no state but the 
synchronization functionality would then only work if you enable "manual sync" 
- i.e. where your clients specify subscriptions they want to listen to and also 
can specify meta-data that is attached to all changes made.  That meta-data is 
used to route changes to the right subscribed clients.

Jeff

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Geoffrey
Sent: Wednesday, July 23, 2008 5:21 PM
To: [email protected]
Subject: [flexcoders] LCDS Memory Usage


Looking in the LiveCycle Data Services ES Developer's Guide, page 190,
it states:
"By default, the Data Management Service caches items returned
from fill() and getItem() calls and uses cached items to implement
paging and to build object graphs on the server when implementing lazy
associations. This causes a complete copy of the managed state of all
active clients to be kept in each server's memory."

Here's what I think that means. If I have 100 clients, and each
client has one managed collection that contains 100 items in it, then
there would be 10,000 copies residing in memory on the server(100
objects for 100 users).

Am I understanding this correctly? Does this seem inefficient? What
if those objects happened to be really big objects... I mean really
big. Seems like that would take up a lot of memory on the server.

Has anyone come up against this in practice?

Thanks,
Geoff

<<inline: image001.jpg>>

<<inline: image002.jpg>>

Reply via email to