Re: Nested DataContexts / invalidated object events

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Wed Feb 09 2005 - 20:46:22 EST

  • Next message: Andrus Adamchik: "Cayenne Wiki - Confluence"

    On Feb 8, 2005, at 1:49 PM, Mike Kienenberger wrote:
    > My first thoughts are that they need to be limited to just listeners
    > monitoring the parent context since other DataContexts aren't
    > "interested"
    > until the data is committed to the database. (and the parent notifies
    > its
    > parent, etc)

    I think changes need to propagate to peers of the context that just
    committed to parent, and from there propagate to children of these
    peers. Another thing to watch for is threading issues. Right now
    ObjectStore registers to receive events from parent in an asynchronous
    fashion:

            if (dataRowCache != null) {
                 // setting itself as non-blocking listener,
                 // since event sending thread will likely be locking
    sender's
                 // ObjectStore and snapshot cache itself.
                 EventManager.getDefaultManager().addNonBlockingListener(
                         this,
                         "snapshotsChanged",
                         SnapshotEvent.class,
                         dataRowCache.getSnapshotEventSubject());
             }

    I guess the same approach can be used for nested objects stores as
    well..

    Andrus



    This archive was generated by hypermail 2.0.0 : Wed Feb 09 2005 - 20:46:28 EST