Guido:

Thanks for your input.  One of the references you cited looks like Project
Wonder based. These are the possible solutions we came up with.  Do you
recommend we go with the Project Wonder solution?

Solution 1: Explicitly handling locking and unlocking of EOEditing Context
 
Adding lock() and unlock() statements where ever we access data, fetch data,
insert data and delete data using Editing Context. Till now in our SOLAR
code lock() and unlock() features are not used for Editing Context. For
using this, we have to apply this feature to the whole application code.
This solution is more error prone and may result in errors during
application usage.
 
Time required for implementing this solution : Around 25 to 30 working days,
as we have to apply this feature to whole application for maintaining
consistency.
 
Solution 2: Using Project Wonder Framework
 
Adding Project Wonder framework to our SOLAR application. Adding this frame
work requires change in design of application. For example, we have to
subclass Application class from ERXApplication instead of WOApplication.
Similarly Session class from ERXSession instead of ERXSession.
 
We have to change all the references of EOEditingContext to the one
compatible with Project Wonder framework.
 
Using of Project Wonder framework will automatically handles the lock() and
unlock() features of the editing context.
 
Time required for implementing this solution : Around 15 to 20 days.
 
Solution 3: Using Session's default Editing Context
 
Using Session's default Editing Context where ever we find thisproblem with
locking. Session's default Editing Context will take care of locking and
unlocking of editing context automatically.
 
For example, the recursive locking error that was reported in the attached
dump file is in method "configureToolsDisplay()" of Session's class. So, we
will use Session's default Editing Context in this method instead of already
used EOEditingContext.
 
Time required for implementing this solution : As we are try to fix the
problems whenever it uncovers, it will take around 1 to 2 days for resolving
each uncovered issue.

vm
-----Original Message-----
From: Guido Neitzer [mailto:guido.neit...@gmail.com] 
Sent: Monday, June 22, 2009 12:44 AM
To: vcmil...@cssg.com
Cc: webobjects-deploy@lists.apple.com
Subject: Re: Excessive WebObjects Locks

This basically answers the question itself. You must (MUST MUST MUST)  
lock / unlock your editing contexts! Only the defaultEditingContext is  
locked / unlocked for you!

Look into the autolocking features of MultiECLockManager [1] or ERXEC  
[2] if you don't want to bother locking your ECs. Don't try locking  
yourself. You will most probably fail as there are many cases you  
won't find if you had to ask the question below. Go with the available  
options and REALLY use them. Your life will be miserable without!

Guido

[1] http://codeferous.com/files/MultiECLockManager.java
[2] http://wiki.objectstyle.org/confluence/display/WONDER/Tutorials


On 21. Jun. 2009, at 20:45 , Vicky C. Miller wrote:

> We are not using EOSharedEditingContext anywhere in our application.  
> We are
> using following Editing Contexts in our application :
>
> 1. At some places of our application we are using session's
> defaultEditingContext()
> 2. At some places of our application we are creating a new  
> EOEditingContext
> where ever it is required.
>
> vm
> -----Original Message-----
> From: Travis Britt [mailto:tbr...@phigment.org]
> Sent: Saturday, June 20, 2009 11:01 AM
> To: webobjects-deploy@lists.apple.com
> Cc: vcmil...@cssg.com
> Subject: Re: Excessive WebObjects Locks
>
> Are you using EOSharedEditingContext anywhere?
>
> tb
>
> On Jun 19, 2009, at 6:45 PM, Vicky C. Miller wrote:
>> Our issue is occurring where the code uses EOEditingContext and other
>> objects in the WebObjects API that acquire a
>> com.webobjects.foundation.NSRecursiveLock.
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-deploy mailing list      (Webobjects- 
> dep...@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
>
http://lists.apple.com/mailman/options/webobjects-deploy/guido.neitzer%40gma
il.com
>
> This email sent to guido.neit...@gmail.com



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-deploy mailing list      (Webobjects-deploy@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-deploy/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to