JAXP default implementation and JDK-8152063
mark.reinhold at oracle.com
mark.reinhold at oracle.com
Thu Mar 31 15:48:46 UTC 2016
2016/3/29 0:21:05 -0700, alan.bateman at oracle.com:
> On 28/03/2016 23:46, huizhe wang wrote:
>> Thanks David. So I understand the dynamic nature of the server
>> configuration. There maybe two options to solve it:
>>
>> ...
>>
>> 2) Add a new type FinderDelegate for processes such as the "proxy" in
>> your case to implement. If the FinderDelegate process fails to locate
>> a provider, it would signal the jaxp process (by returning null) to
>> fall back to the JDK-default implementation. In other words, when the
>> system property points to a FinderDelegate, the 4-step JAXP process is
>> reduced to two: delegate the process to the FinderDelegate, and fall
>> back to the system default implementation.
>
> The devil is in the detail of course. You haven't said if the
> FinderDelegate implementation has to be visible via the system class loader.
>
> I think the main thing is to tread carefully and it would be very easy
> to introduce a troublesome mis-feature here.
Indeed.
This has been an interesting discussion. Now that I understand David's
scenario better, I suspect this is just one instance of a more general
problem, and in fact one that should be solved by a module-system
requirement we previously recorded but have not yet addressed:
http://openjdk.java.net/projects/jigsaw/spec/reqs/#selective-binding
Let's please not add yet more complexity to JAXP, if we can help it.
- Mark
More information about the core-libs-dev
mailing list