Actually, from the SOAP implementation point of view, the refreshDocumentBuilderFactory method doesn't need to be synchronized because that method is only called once during the servlet init() method (which is single threaded). A single DocumentBuilderFactory object can be shared as long as it is used by one thread at a time. Although I would agree with you that both methods should be synchronized if the class is used in another context.
--Emilio
-----Original Message-----
From: Scott Nichol [mailto:[EMAIL PROTECTED]]
Sent: Friday, May 17, 2002 7:03 PM
To: [EMAIL PROTECTED]
Subject: [PATCH] Re: is SOAP thread-safe?
I don't know about whether DocumentBuilderFactory is not thread-safe, but
refreshDocumentBuilderFactory and getXMLDocBuilder need to be synchronized with
respect to one another, as the former assigns to the dbf member then calls
methods on it to set parsing attributes. The assignment and attribute setting
should be atomic, right?
I've attached the trivial patch that changes getXMLDocBuilder to be
synchronized.
Scott
----- Original Message -----
From: "Emilio Belmonte" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, May 16, 2002 3:09 PM
Subject: is SOAP thread-safe?
> I noticed that this method:
>
> XmlParserUtils.getXMLDocBuilder()
>
> is not synchronized. According to the JAXP documentation, the
> DocumentBuilderFactory class is not thread-safe. Is there any reason for
> not synchronizing it?
>
> Thank you,
>
> --Emilio
>