This message is in reference to the aforementioned issue [1] that I've requested my colleague Andrew Hughes to open on my behalf.

As expressed in that issue, the means of specifying a JAXP default provider (via system property which specifies a class name on the application class path) is relatively antiquated at this point. It is actually quite difficult for containers which ship their own JAXP implementation to use the JDK APIs and, at the same time, ship their own implementations, especially without polluting the class path of applications which use JAXP. This situation is made worse by Jigsaw in the respect that removing direct access to the default JDK implementation classes consequently eliminates one of the few possible workarounds to this problem (not to mention the dissonance between the system property approach and modules in general), which is the motivation for opening this issue.

I propose that there be made available a mechanism by which a default implementation Class<xx> (or a Supplier<xx>) can be established programmatically by sufficiently privileged code. In the absence of dissent or other discussion, I intend to propose a webrev which implements this functionality against the jdk9/jdk9 tree.

Any preliminary feedback is greatly appreciated.

[1] https://bugs.openjdk.java.net/browse/JDK-8152063
--
- DML

Reply via email to