In trying to implement MagmaPersistency it turns out that the fact that PRContext holds a local cache to the current session may be a bit of a pain. Not only may there be a lot more stuff accidentally persisted through this reference, there may actually be objects that magma gurus say 'don't persist these if you know what is good for you'.
I cant see that this cache is widely used, so I wondered if anyone would object if it was removed
i.e. make this method lookup the current session the hard but not all that slow way (about 100 microseconds, on my oldish 700Mhz machine)
PRContext>>session
^ WACurrentSession value
any thoughts/opinions?
Keith
___________________________________________________________ The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html
The problem that I have is that pier saves its history by saving its instances of PRContext', namely the context of the model changing command being performed. This context happens to have a local cache in it's properties the seaside session ('to avoid unneccessary lookups'), which if it is WAMagmaSession has a magmaSession instance var.
Now I could attempt to clear this cached value out before persistence takes place, but I see no guarantees that some other bit of code may reference the session and repopulate the cached value while I am not looking.
Hi Keith, could the MagmaSessions #location help here? The #location gives you a MagmaLocation which was intended for this purpose; it can be serialized/materialized, and let you get a #newSession any time. You could clear the cached value before persistence and change its getter to lazy initialize it from the location..?
- Chris
--- Keith Hodges keith_hodges@yahoo.co.uk wrote:
In trying to implement MagmaPersistency it turns out that the fact that PRContext holds a local cache to the current session may be a bit of a pain. Not only may there be a lot more stuff accidentally persisted through this reference, there may actually be objects that magma gurus say 'don't persist these if you know what is good for you'.
I cant see that this cache is widely used, so I wondered if anyone would object if it was removed
i.e. make this method lookup the current session the hard but not all that slow way (about 100 microseconds, on my oldish 700Mhz machine)
PRContext>>session
^ WACurrentSession value
any thoughts/opinions?
Keith
___________________________________________________________ The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html _______________________________________________ Magma mailing list Magma@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/magma
Dear Chris,
these PRContext things are horrible, I am running into trouble with MAProxyObject (part of magritte) which is bound to stretch the limits of Magma. I dont know what it is being used for but it looks like I am going to need another strategy altogether
Keith
___________________________________________________________ To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com
magma@lists.squeakfoundation.org