You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xerces.apache.org by Soumya Chatterjee <so...@tcs.com> on 2007/07/25 16:11:51 UTC

Resolve the Issue

Hi Michael,

We have found a suitable work around for the issue. We have replaced the 
NodeList implementation which surely is not  thread safe due to the 
caching mechanism built in it. 

We implemented "NodeList" using "Node"

The "for" loop is replaced by "while" loop as follows:-
First Element - Node's getFirstChild method
Next Element - Node's getNextSibling method
End of Iteration- Null is obtained when getNextSibling is used.

We have tested at our end and it worked fine. This might be a good 
alternative implementation for NodeList.

In this solution there is no  SLA impact , this solution is does not have 
any synchronization. 

Please suggest if you find any potential problem in this work around.

Soumya Chatterjee
Tata Consultancy Services
Mailto: soumya.chatterjee@tcs.com
Website: http://www.tcs.com
____________________________________________
Experience certainty.   IT Services
                        Business Solutions
                        Outsourcing
____________________________________________



Michael Glavassevich <mr...@ca.ibm.com> 
07/24/2007 07:27 PM

To
Soumya Chatterjee <so...@tcs.com>
cc
j-users@xerces.apache.org
Subject
Re: Got the Issue






Hi Soumya,

Xerces' DOM implementation isn't thread-safe. If you try to access the 
same DOM instance from multiple threads without synchronizing it you'll 
run into these problems. You either need to synchronize your code or 
create an instance of the DOM tree per thread. There's really no way 
around it.

Thanks.

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: mrglavas@ca.ibm.com
E-mail: mrglavas@apache.org

Soumya Chatterjee <so...@tcs.com> wrote on 07/24/2007 09:42:08 

AM:
 
> Hi Michael, 
> 
> I found out the response from you regarding the "xerces DOM 
> concurrent access" and I think it is the same as our application in 
> the case.  http://spteam-lists.blogspot.com/2007/04/re-xerces-dom-
> concurrent-access-and.html 
> 
> By the way we were not getting the exception as frequently  in the 
> weblogic 7.1 ( JDK 1.3) when we are using the following Xerces.
> 
> But we are getting the exception in case of weblogic 9.1 much more 
> frequently which uses JDK1.5 and different version of Xerces. 
> 
> Synchronization is not an option in this case because there is a 
> huge performance issue here. Please let me know if any way we can 
> get read of this problem without using the Synchronization  block. 
> 
> Thanks,
> Soumya Chatterjee
> Tata Consultancy Services
> Mailto: soumya.chatterjee@tcs.com
> Website: http://www.tcs.com
> ____________________________________________
> Experience certainty.        IT Services
>                        Business Solutions
>                        Outsourcing
> ____________________________________________

ForwardSourceID:NT00009A82 
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain 
confidential or privileged information. If you are 
not the intended recipient, any dissemination, use, 
review, distribution, printing or copying of the 
information contained in this e-mail message 
and/or attachments to it are strictly prohibited. If 
you have received this communication in error, 
please notify us by reply e-mail or telephone and 
immediately and permanently delete the message 
and any attachments. Thank you