RFR (jaxp): JDK-8013434: Xalan and Xerces internal ObjectFactory need rework

huizhe wang huizhe.wang at oracle.com
Tue Jun 4 04:58:15 UTC 2013

Hi Daniel,

The patch looks good.  Thanks for cleaning this up.  The patch can be 
applied to JDK7 with no change.

Best regards,

On 6/3/2013 9:54 AM, Daniel Fuchs wrote:
> Hi,
> In order to prepare for modularization, we need to review all
> the places where META-INF/services is parsed directly.
> The Xalan and Xerces internal ObjectFactory still have some
> places where such parsing is implemented.
> The usual fix in such cases is to replace this 'ad-hoc' parsing
> by calls to j.u.ServiceLoader.
> However:
> 1. The method that parses META-INF in the Xerces ObjectFactory is
>    never used - and therefore this patch simply removes it.
> 2. The lookup implemented by the Xalan ObjectFactory is an internal
>    undocumented mechanism - which in practice is not useful for
>    the JDK itself (this is basically an internal pluggability
>    layer which allows to replace the default implementation of
>    DTMManager used by the XSLTC transformer).
>    We are therefore proposing to also remove this pluggability - and
>    simply make the JDK always use its own implementation of the
>    DTMManager.
> The consequence is that defining the system properties
> com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager and
> com.sun.org.apache.xml.internal.dtm.DTMManager, or defining
> concrete implementation classes for XSLTCDTMManager or DTMManager
> in META-INF/services will no longer have any effect:
> com.sun.org.apache.xml.internal.dtm.DTMManager will always use
> its own default implementation, and
> com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager will
> also always use its own default implementation.
> <http://cr.openjdk.java.net/~dfuchs/JDK-8013434/webrev.00/>
> Since there are no changes to the public API we would also like to 
> backport this change to the jdk7 update train in order to keep jdk7 
> and 8 in sync as much as we can.
> best regards,
> -- daniel

More information about the core-libs-dev mailing list