[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] J2SE Caching Strategy?
|
Nevermind Shaun, I found it: eclipselink.cache.shared.default=false at
http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#How_to_Use_the_.40Cache_Annotation
I'll let everyone know if this works since it will be a pretty common use case.
On Mon, May 12, 2008 at 2:55 PM, Tim Hollosy <hollosyt@xxxxxxxxx> wrote:
> Shaun,
> That sounds like it will work great. Is there a way to set the
> isolation level at the project level and override on an entity basis?
> The wiki docs just show how to config it with the toplink workbench.
>
> Thanks
>
>
>
> On Mon, May 12, 2008 at 2:50 PM, Shaun Smith <shaun.smith@xxxxxxxxxx> wrote:
> >
> > Hi Tim,
> >
> > Sounds like you should set caches for non-reference data to "isolated".
> > Instances of classes who's caches are isolated are not cached in the L2
> > cache. Once an EM is closed, objects who's classes are isolated can be
> > GC'd. I think this will get you the behavior you want. Here's how the docs
> > describe isolate caching:
> >
> >
> > Isolated Client Session Cache
> >
> >
> > This method always goes to the database for the initial read operation of an
> > object whose descriptor is configured as isolated. By avoiding the shared
> > session cache, you do not need to use the more complicated descriptor and
> > query APIs to disable cache hits or always refresh. For more information
> > about isolated client sessions, see Isolated Client Sessions. This is
> > particularly useful for achieving serializable transaction isolation (see
> > What You May Need to Know About Serializable Read Levels)
> >
> >
> > There are some restrictions on relationships between isolated and shared
> > classes. Isolated classes can have relationships to shared classes but not
> > vice versa. This works fine when all your shared objects are reference
> > data.
> >
> >
> > Does this sound like it'll work for you?
> >
> >
> > Shaun
> >
> >
> >
> > Tim Hollosy wrote:
> > Shaun, we are in a client server situation:
> >
> > ~50 RCP apps hitting the same database independently ,so they would
> > all technically be "third parties" changing the database behind the
> > scene, since each client is it's own seperate machine and doesn't
> > share an L2 cache. So really we need to hit the database 99% of the
> > time, the 1% of the time we want to hit the cache would be things like
> > a list of states pulled from the database to populate a drop down
> > list. There's no need to hit that every time, but all the other data
> > is quite volatile.
> >
> >
> > I think I confused you by talking about multiple EM's, really it
> > doesn't matter, since the root of the problem is every client is
> > independent and doesn't share a cache, which would be a common problem
> > in most J2SE desktop apps.
> >
> > Hopefull that clears it up :)
> >
> > Thanks,
> > Tim
> >
> >
> >
> >
> > On Mon, May 12, 2008 at 1:40 PM, Shaun Smith <shaun.smith@xxxxxxxxxx> wrote:
> >
> >
> > Hi Tim,
> >
> > Can you clarify your issues/goals before we get into how best to solve
> > them?
> >
> > So you don't want the EM-2 to see changes committed by EM-1? Reading from
> > the database will just get you the same answer as you'll get from the L2
> > cache unless you have third parties modifying the database behind the
> > scenes. Is this the root problem you're trying to combat?
> >
> > Shaun
> >
> >
> >
> >
> >
> > --
> >
> >
> >
> > Shaun Smith | Principal Product Manager, TopLink | +1.905.502.3094
> > Oracle Fusion Middleware
> > 110 Matheson Boulevard West, Suite 100
> > Mississauga, Ontario, Canada L5R 3P4
> >
>
> > _______________________________________________
> > eclipselink-users mailing list
> > eclipselink-users@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/eclipselink-users
> >
> >
>
>
>
> --
> ./tch
>
--
./tch