Question about JDK-6925410
Alan Bateman
Alan.Bateman at oracle.com
Wed Aug 4 07:53:27 UTC 2021
On 04/08/2021 03:38, Frederick Zhang wrote:
> Hello everyone,
>
> I've got a question about JDK-6925410 [1] and I hope this is the right
> place to ask.
>
> I'm experiencing some slowness when handling XML request bodies in
> Spring. After digging into the code, it led me to [2] where it
> instantiates XMLReader upon every request. And the reason of the
> slowness here seems to be related to JDK-6925410, since after
> pre-assigning a parser via
> '-Dorg.xml.sax.driver=com.sun.org.apache.xerces.internal.parsers.SAXParser'
>
> the slowness was gone.
>
> Although I understand creating new XMLReader instances every time is an
> anti-pattern, JDK-6925410 mentioned that there was a fix put in place on
> jaxp's side so I'm wondering what the fix was?
>
> I tried downloading relevant sources from [3][4][5] for comparison but
> some links were broken. Then I checked out the latest JDK code [6] and
> it's still doing the class scanning but the method has been marked as
> deprecated. May I know if people are simply suggested to migrate to
> SAXParserFactory or there's another way of using XMLReaderFactory to
> avoid the scanning without pre-assigning any parser?
Yes, this has ben deprecated for many releases. The scanning to locate
an XMLReader implementation is specified so I don't think that can be
dropped without a specification change and/or coordination with the
defunct SAX project. jdk-dev isn't the right place to go into all this.
Best to bring a test case to core-libs-dev for discussion.
-Alan.
More information about the jdk-dev
mailing list