RFR [9] 8072839: JAX-B Plugability Layer: using java.util.ServiceLoader
Miroslav Kos
miroslav.kos at oracle.com
Tue Jun 2 12:32:12 UTC 2015
Hi Alan, Daniel,
would you have some time to check the changes in this one?
Thanks a lot
Miran
On 27/05/15 00:50, Miroslav Kos wrote:
>
> On 20/05/15 15:30, Daniel Fuchs wrote:
>> Hi Miroslav,
>>
>> I haven't looked in all details, but this text in JAXBContext.java looks
>> odd to me - it seems that the bullet is repeated twice (or if they
>> differ - the diff must be subtle):
>>
>> lines 241-257 seem identical to lines 259-275
>>
>> 241 * <li>
>> 242 * Look for resource
>> <tt>/META-INF/services/javax.xml.bind.JAXBContext</tt> using provided
>> class loader.
>> 243 * Methods without class loader parameter use {@code
>> Thread.currentThread().getContextClassLoader()}.
>> 244 * If such a resource exists, its content is assumed to be the
>> provider factory class and must supply
>> 245 * an implementation class containing the following method
>> signatures:
>> 246 *
>> 247 * <pre>
>> 248 *
>> 249 * public static JAXBContext createContext(
>> 250 * String contextPath,
>> 251 * ClassLoader classLoader,
>> 252 * Map<String,Object> properties throws JAXBException
>> 253 *
>> 254 * public static JAXBContext createContext(
>> 255 * Class[] classes,
>> 256 * Map<String,Object> properties ) throws JAXBException
>> 257 * </pre>
>> 258 *
>> 259 * <li>
>> 260 * Look for resource
>> <tt>/META-INF/services/javax.xml.bind.JAXBContext</tt> using provided
>> class loader.
>> 261 * Methods without class loader parameter use {@code
>> Thread.currentThread().getContextClassLoader()}.
>> 262 * If such a resource exists, its content is assumed to be the
>> provider factory class and must supply
>> 263 * an implementation class containing the following method
>> signatures:
>> 264 *
>> 265 * <pre>
>> 266 *
>> 267 * public static JAXBContext createContext(
>> 268 * String contextPath,
>> 269 * ClassLoader classLoader,
>> 270 * Map<String,Object> properties throws JAXBException
>> 271 *
>> 272 * public static JAXBContext createContext(
>> 273 * Class[] classes,
>> 274 * Map<String,Object> properties ) throws JAXBException
>> 275 * </pre>
> Hi Daniel,
> thanks for catching this - obviously incorrectly applied patch.
>>
>> So if I understand well - this is somewhat similar to what
>> ServiceLoader does in terms of lookup, except that the
>> mechanism defined here does not use an instance of the
>> declared class, nor require that the class declared in
>> /META-INF/services/javax.xml.bind.JAXBContext
>> is a subclass of JAXBContext - but simply that it defines
>> the appropriate static factory methods...
> Yes, exactly. It is "ServiceLoader like" implementation from times
> when ServiceLoader wasn't in jdk yet (jdk5).
>>
>> Maybe the fact that this step is deprecated should be noted more
>> prominently in the bullet itself.
> I added a note mentioning that the step is deprecated.
>
> Corrected version: http://cr.openjdk.java.net/~mkos/8072839/jaxws.03/
> I also came over the changed files and added new lines to make lines
> shorter.
>
> Thanks
> Miran
>
>>
>> best regards,
>>
>> -- daniel
>>
>> On 15/05/15 17:13, Miroslav Kos wrote:
>>> Hi everybody,
>>>
>>> this is review request for: 8072839: JAX-B Plugability Layer: using
>>> java.util.ServiceLoader
>>> The JAX-B API changed a little bit - proprietary ServiceLoader-like
>>> code
>>> has been replaced by java.util.ServiceLoader. This change is
>>> required by
>>> Jigsaw, old configuration way still supported.
>>>
>>> JBS:https://bugs.openjdk.java.net/browse/JDK-8072839
>>> webrev: http://cr.openjdk.java.net/~mkos/8072839/jaxws.02/index.html
>>> CCC: http://ccc.us.oracle.com/8072839
>>>
>>> Testing: JAX-WS (standalone) unit tests, no, jtreg tests available now,
>>> TCK/JCK tests will require new tests.
>>>
>>> Thanks
>>> Miran
>>>
>>
>
More information about the core-libs-dev
mailing list