I think you have to set it on the parent and you have to do it while the context is fresh. If you fetch EOs into a context and then set it, I believe it will throw an exception. That's my recollection of it anyway :-)
Ramsey On Dec 11, 2012, at 4:25 PM, Maik Musall wrote: Hi Johnny,
I'm not entirely sure, but I think you need to setRetainRegisteredObjects(true) on the parent immediately after the parent's creation if you ever plan to create child editing contexts on it. That's what I do, although it costs memory if you can't always decide that at parent's creation time. In that respect, my previous comment was too unprecise, sorry.
But let's see what Ramsey says.
Maik
Am 12.12.2012 um 00:17 schrieb Johnny Miller < email@hidden>: Hi Maik,
Does this look right to you?
public EOEditingContext ec() {
if(null == _ec) { _ec = ERXEC.newEditingContext(); }
return _ec;
}
public EOEditingContext childEc() { ec().setRetainsRegisteredObjects(true); return ERXEC.newEditingContext(ec(), false); }
public createObject() { EOEditingContext childEc = childEc(); // create the object }
I'm just wondering if it's OK that _ec could be around for a while before I setRetainsRegisteredObjects to true on it.
Thanks a lot! On Dec 11, 2012, at 1:02 PM, Maik Musall < email@hidden> wrote: Do it immediately after creating the child editing context. Am 11.12.2012 um 21:57 schrieb Johnny Miller < email@hidden>: Thank you kind Sir. I thought i was going crazy.
When do you use setRetainsRegisteredObjects? When the EO is initialized?
Thanks a million!
On Dec 11, 2012, at 10:41 AM, Ramsey Gurley < email@hidden> wrote: This is a known issue when using child editing contexts. The only current workaround I'm aware of is:
parentEC.setRetainsRegisteredObjects(true);
Ramsey On Dec 11, 2012, at 1:37 PM, Johnny Miller wrote: Hello everyone,
I'm having problem with a newly deployed app where these errors are popping up intermittently all over the place.
I was wondering if maybe I could get some advice on whether some things I'm doing are possibly causing this...
1. I'm only using ERXEC
2. I'm not explicitly using lock or unlock anywhere. 3. I'm creating new EOs with a child EditingContext - I'm going to go to peer editing context in new build but in some cases I just can't do this i.e. the EO is created using a wizard and I don't want to insert the EO unless the user completes the wizard. 4. I'm using EOEditingContext.setDefaultFetchTimestampLag(0) in the application constructor.
This app has a fair amount of data and a few users who are crunching away on it, constantly adding and updating records. I set item 4 to 0 because I was worried about users viewing data that is out of sync.
Could #4 be tripping the error?
Aloha,
|
Mr. Johnny Miller
Web Development Manager
Kahalawai Media Company
Lahaina, HI 96761
tel: (808) 661-7962 | mobile: (808) 283-0791
website | e-mail
|
|
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
|