From: Kieran K. <kie...@ma...> - 2009-03-08 02:03:54
|
IIRC, you have to do your own lock/unlock in regular background threads ..... I always do anyway ..... ec.lock(); try { //do stuff } catch (Exception e) { // handle } finally { ec.unlock(); } On Mar 7, 2009, at 8:04 PM, Jeff Schmitz wrote: > Hello, > Below is my setup for executing a background thread with its own > EOObjectStoreCoordinator and its own EOEdtingContext. Note that I'm > using ERXEC to create the EOEditingContext, and have the below > properties set. Also note that I don't do lock or unlock as I > understand that ERXEC does this for you. Is this correct? Is it ok > to use this in a thread? The reason I ask is that I can kick off > the thread and not touch my app in any other way, and more often > than not the calculations will hang after about 15 minutes as if its > deadlocked. However I haven't been able to repeat the error with > lock logging on yet. Could it have something to do with the Session > timing out during processing? Or is there something else I don't > have quite right? > > er.extensions.ERXApplication.useEditingContextUnlocker=true > er.extensions.ERXEC.defaultAutomaticLockUnlock=true > er.extensions.ERXEC.useSharedEditingContext=false > er.extensions.ERXEC.defaultCoalesceAutoLocks=true > er > .extensions.ERXEnterpriseObject.applyRestrictingQualifierOnInsert=true > er.extensions.ERXEnterpriseObject.updateInverseRelationships=true > > public static void updateResults() { > > //Do lots of loops > while (...) { > resultsObjectStore = new EOObjectStoreCoordinator(); > resultsEC = ERXEC.newEditingContext(resultsObjectStore); > > //Do lots of processing. > > resultsEC.saveChanges(); > > //Free up the memory, nothing will be reused in next loop anyway. > resultsEC.dispose(); > resultsObjectStore.dispose(); > resultsObjectStore = new EOObjectStoreCoordinator(); > resultsEC = ERXEC.newEditingContext(resultsObjectStore); > > } > } > > public static void updateResultsThread() { > t = new Thread("updateResults") { > public void run() { > updateResults(); > } > }; > t.start(); > } > > > Thanks! > Jeff > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list (Web...@li...) > Help/Unsubscribe/Update your Subscription: > http://lists.apple.com/mailman/options/webobjects-dev/kieran_lists%40mac.com > > This email sent to kie...@ma... |