From jsc at crispylogics.com Mon Feb 9 20:12:17 2009 From: jsc at crispylogics.com (Jochen Schmidt) Date: Mon, 9 Feb 2009 21:12:17 +0100 Subject: [rucksack-devel] Wake up persistent instances? SHARED-INITIALIZE? Message-ID: <6AA6DD4D-ECF5-40DF-8827-F47DACCB5168@crispylogics.com> Hi, perhaps I'm doing something completely against the idea - but how do others implement refreshing of transient slots in persistent objects? As rucksack doesn't call INITIALIZE-INSTANCE, REINITIALIZE-INSTANCE or SHARED-INITIALIZE on re-loaded instances - how can I specify to "wake up" my instances? Normally SHARED-INITIALIZE is used to initialize slots from initargs and initforms. There is a note in LOAD-OBJECT that transient slots should be set to their initforms - this could be done by calling SHARED-INITIALIZE on the transient slots. Calling SHARED- INITIALIZE would also enable to customize transient slot initialization by writing :before-Methods on SHARED-INITIALIZE. Another idea - particularily if one wants to distinguish normal (re-)initialization from loading objects would be to add a new gf WAKE- UP-PERSISTENT-INSTANCE which would be called in LOAD-OBJECT after the optional call to UPDATE-PERSISTENT-INSTANCE-FOR-REDEFINED-CLASS. Any ideas? ciao, Jochen -- Jochen Schmidt CRISPYLOGICS Uhlandstr. 9 , 90408 Nuremberg Fon +49 (0)911 517 999 82 Fax +49 (0)911 517 999 83 mailto:info at crispylogics.com http://www.crispylogics.com