Hi Michael, I got the explanation but want to know if we traves the DOM tree back and forth as explained in the code snippet below whether we can get read of NullPointerException problem due to the thread safe issue.
By the way I think it will still not resolve the issue but for the sake of my understanding I am asking you the question. Thanks, Soumya Chatterjee Tata Consultancy Services Mailto: [EMAIL PROTECTED] Website: http://www.tcs.com ____________________________________________ Experience certainty. IT Services Business Solutions Outsourcing ____________________________________________ Michael Glavassevich <[EMAIL PROTECTED]> 07/25/2007 02:00 AM To j-users@xerces.apache.org cc Soumya Chatterjee <[EMAIL PROTECTED]> Subject Re: Got the Issue Every Node in the Xerces DOM is also its child NodeList (i.e. node == node.getChildNodes()). You get the same object every time. If a single thread is doing something like: .... NodeList list = node.getChildNodes(); int length = list.getLength(); for (int i = 0; i < length; ++i) { for (int j = length - 1; j >= 0; --j) { Node nodeI = list.item(i); Node nodeJ = list.item(j); ... } } it's going to defeat the caching mechanism which was optimized for sequential access. We'll end up walking back and forth through the sibilings between i and j. Thanks. Michael Glavassevich XML Parser Development IBM Toronto Lab E-mail: [EMAIL PROTECTED] E-mail: [EMAIL PROTECTED] [EMAIL PROTECTED] wrote on 07/24/2007 03:54:16 PM: > Right. I wouldn't expect nodelists to be threadsafe, but do we reuse > nodelists, or would independent calls to retrieve the same nodelist > return separate (non-entangled) objects? > > I would expect the latter, since there could be several nodelist > accesses in progress at once even for a single thread. > > As I said, trying to use the DOM as if it was partly thread-safe is > a cheat; you have to know exactly what you can and can't get away > with. It's better to implement proper thread-locking in the application code. > > ______________________________________ > "... Three things see no end: A loop with exit code done wrong, > A semaphore untested, And the change that comes along. ..." > -- "Threes" Rev 1.1 - Duane Elms / Leslie Fish (http://www.ovff. > org/pegasus/songs/threes-rev-11.html) ForwardSourceID:NT00009A9A =====-----=====-----===== 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