RE: caching of query results

From: Gentry, Michael \(Contractor\) ("Gentry,)
Date: Fri Jan 28 2005 - 14:01:57 EST

  • Next message: Andrus Adamchik: "RE: caching of query results"

    I understand. I came to Cayenne from an EOF background, too. EOF
    allows caching with timeouts to occur so I guess that was stuck in my
    brain. I also got burned because I was caching it application-wide and
    not per DataContext. Just wanted to give you a heads-up to that,
    though.
     
    Strange, we restart our applications (WO/Objective-C) automatically when
    all sessions expire to clean up memory, too ...
     
    /dev/mrg
     

            -----Original Message-----
            From: Bryan Lewis [mailto:brya..aine.rr.com]
            Sent: Friday, January 28, 2005 1:50 PM
            To: cayenne-use..bjectstyle.org
            Subject: Re: caching of query results
            
            
            Thanks for the tip. I'm going to use only the local
    per-data-context caching. If I have to change some of our
    mostly-constant "reference data" behind the scenes, the worst case is,
    all the users will get the new data the next time they log in. Somebody
    stop me if that doesn't make sense. :-)
             
            Our users will be happy with this. In our old WebObjects
    Objective-C apps, the users wouldn't see a change to reference data
    until the app was restarted. We do an automatic restart every day in
    the wee hours for that reason. Well, that plus the fact that the apps
    leaked memory badly. The new Java apps are going to be so much nicer.
              

                    ----- Original Message -----
                    From: Gentry, Michael (Contractor)
    <mailto:michael_gentr..anniemae.com>
                    To: cayenne-use..bjectstyle.org
                    Sent: Friday, January 28, 2005 12:43 PM
                    Subject: RE: caching of query results

                    Hey Bryan (and others), one thing that "bit" me about
    the caching is that it is too damned good! Be aware that things will
    live in your cache for potentially long periods of time. I was doing
    caching in a utility app and went home over the weekend. Came back,
    accessed it again, and was getting data from the previous week, even
    though things had changed over the weekend as our jobs were running. I
    guess I was expecting them to timeout or something, but as long as they
    don't get pushed out of the cache, they stay alive.
                     
                    Just keep that in mind.
                     
                    /dev/mrg
                     

                            -----Original Message-----
                            From: Bryan Lewis [mailto:brya..aine.rr.com]
                            Sent: Friday, January 28, 2005 11:42 AM
                            To: cayenne-use..bjectstyle.org
                            Subject: Re: caching of query results
                            
                            
                            Okay, it's working now. This way works (as in
    the user's guide):
                             
                                // Starting with a named query...
                                query.setRefreshingObjects(boolean refresh);
                                headlines = dc.performQuery(query);
                            
                            What I was doing the first time didn't work:
                             
                                DataMap theMap = (DataMap)
    dc.getDataMaps().iterator().next();
                                theMap.addQuery(query);
                                headlines = dc.performQuery(queryName,
    refresh);
                            
                            Somewhere I got the idea I was supposed to be
    using the second version of performQuery(), which wants the query to be
    stored in the DataMap. I guess one shouldn't try to use that except
    with queries that were created in the modeler GUI.
                             
                            Thanks! This feature is going to be very
    useful.
                             
                             
                             



    This archive was generated by hypermail 2.0.0 : Fri Jan 28 2005 - 14:02:01 EST