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

Daniel Fuchs daniel.fuchs at oracle.com
Mon Jun 3 16:54:18 UTC 2013


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