Don,

Your right about OgnlUtils, that was a dumb mistake overlooking that.  I was 
actually more concerned about the SpringObjectFactory.  I noticed it wasn't 
synchronized, but I'm concerned about the performance of making it 
synchronized.  The ObjectFactory is accessed so frequently that I personally 
think making it externally synchronized would impose a big performance impact.  
Do you agree?

Could I suggest that instead of using a HashMap, we could use a 
java.util.concurrent.ConcurrentHashMap.  ConcurrentHashMap does not allow nulls 
though (not sure if that's an issue).

The same argument to use ConcurrentHashMap for SpringObjectFactory I think 
applies to changing OgnlUtils to use ConcurrentHashMap instead of an externally 
synchronized HashMap.

Darren

-----Original Message-----
From: Don Brown [mailto:[EMAIL PROTECTED] 
Sent: Thursday, September 20, 2007 9:56 AM
To: Struts Developers List
Subject: Re: Multithreaded use of HashMap

OgnlUtil properly protects its caches by surrounding them in
synchronized blocks, but you are right, the SpringObjectFactory class
does not.  I fixed it in trunk.

Don

On 9/20/07, Shepherd, Darren S <[EMAIL PROTECTED]> wrote:
> I noticed two different cases where a HashMap is being used in a 
> multithreaded read/write manner.  As we all know the java HashMap 
> implementation does not allow concurrent read/writes that are not externally 
> synchronized.  Is there some reason I should not be concerned?  The classes 
> are OgnlUtils and SpringObjectFactory.  Both classes are actually xworks API. 
>  Is xworks a different project?  Should this question be directed towards a 
> different list?
>
>
>
> Darren
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to