JAXP default implementation and JDK-8152063

Alan Bateman Alan.Bateman at oracle.com
Thu Mar 24 14:51:02 UTC 2016



On 24/03/2016 14:29, David M. Lloyd wrote:
>
> Daniel, I have hacked together a way to use the system class loader 
> (which should be "good enough", I hope), but there is one further 
> problem: org.xml.sax.helpers.XMLReaderFactory does not have a factory 
> method which accepts a class loader like the others do.  Any thoughts 
> on this one?  It looks like it might be pretty easy to add this 
> method... but then, it's also pretty easy to just add setters to set 
> the default Class :)
>
>
I hope we can avoid introducing an API to change the global/default 
implementation mid-flight. It would be attractive nuisance. It it almost 
always wrong to have a static in a system class with a strong reference 
to something that is transient. There are often security and memory 
retention issues. This becomes a lot more obvious when you have multiple 
applications running in the same VM.

On org.xml.sax.helpers.XMLReaderFactory then this is endorsed API. As it 
happens, it came under the spot light in a recent thread because it has 
not been converted to use ServiceLoader. I believe Joe Wang is seeing if 
this can be progressed in the upstream SAX project.

-Alan



More information about the core-libs-dev mailing list