Hi,
I am using Castor as an xml data binding tool which internally uses 
org.apache.xerces.jaxp.SAXParserImpl to parse and un-marshall to java object.
on very heavy load/concurrency e.g. around 20-25 thousand transactions in 30 
mins we could see that we get the un-marshalled java object which has some 
values coming from different xml document i.e. a wrong java object.
I have seen the castor code which is very simple and looks very much thread 
safe. So the doubt for this problem looks like in the parser code. Castor 
always creates a new Parser instance for every new request.
I could see inner class "JAXPSAXParser"  defined in 
org.apache.xerces.jaxp.SAXParserImpl which internally has synchronized methods 
except the parse method. I don't understand why these are synchronized when the 
class JAXPSAXParser is always instantiated in SAXParserImpl object.

Could somebody help in this regard? Do we have any fix for this?


Java verison : jdk 1.7xerces -  2.11

RegardsDinesh

Reply via email to