Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakartaee-platform-dev] What does it mean for Jakarta EE 9 Full Platform that Jakarta RESTful Web Services are depending on (optional) Jakarta XML Binding in Jakarta EE 9?

Hi Andy,
Thanks for the background information.  But, I'm just not familiar enough with the jax-rs architecture to know if the solution is sufficient.

>  So, what this means is that RESTful WS depends on XML Binding API at build time.  The Link class is rarely used in user applications, but when it is, users must ensure that their runtime environment includes XML Binding APIs and an implementation.  For most users, they will not need a runtime dependency on XML Binding.

So, jax-rs requires jaxb when building.  Building the api?  Building jersey?  both?

Does the resulting api binary have a dependency on jaxb?  If it does, then that's a problem.

I'm not clear on this "Link" class.  I guess this gets back to the previous question.  If the dependency on jaxb is soft and dynamic, and the only time that the dependency is required is when this "Link" class is utilized, then we're getting closer to workable solution.  Is this "Link" class marked "optional" as part of the API?  Does the TCK test this "Link" class and are those tests marked optional?

Bottom line is that with jaxb being marked as an Optional technology, then the standard jax-rs and jakarta ee runtime can not have a hard, non-optional dependency on jaxb.

---------------------------------------------------
Kevin Sutter
STSM, MicroProfile and Jakarta EE architect @ IBM
e-mail:  sutter@xxxxxxxxxx     Twitter:  @kwsutter
phone: tl-553-3620 (office), 507-253-3620 (office)    
LinkedIn:
https://www.linkedin.com/in/kevinwsutter



From:        Andy McCright <j.andrew.mccright@xxxxxxxxx>
To:        jakartaee-platform developer discussions <jakartaee-platform-dev@xxxxxxxxxxx>
Cc:        Kevin Sutter <sutter@xxxxxxxxxx>
Date:        09/17/2020 20:26
Subject:        [EXTERNAL] Re: [jakartaee-platform-dev] What does it mean for Jakarta EE 9 Full Platform that Jakarta RESTful Web Services are depending on (optional) Jakarta XML Binding in Jakarta EE 9?




Hi All, The dependency has been there since JAX-RS 2.0.  When we had discussed this...                                                                                                                                                                                      
This Message Is From an External Sender
This message came from outside your organization.


Hi All,

The dependency has been there since JAX-RS 2.0.  When we had discussed this previously we decided that we could not remove the dependency as that would be a breaking change.  Instead we decided that user applications that use this API are responsible for providing the Jakarta XML Binding APIs and implementation 
(either through their own app or through the vendor app server).  Back in March, I added these lines to the Javadocs:

      * Note that usage of this class requires the Jakarta XML Binding API and an implementation. The Jakarta RESTful Web
      * Services implementation is not required to provide these dependencies.

So, what this means is that RESTful WS depends on XML Binding API at build time.  The Link class is rarely used in user applications, but when it is, users must ensure that their runtime environment includes XML Binding APIs and an implementation.  For most users, they will not need a runtime dependency on XML Binding.

At the time we discussed this, it was approved by the RESTful WS project and at least consensus reached by the platform committee, but if we don't like that answer now, I'm open to considering other options.

Hope this helps,

Andy

On Thu, Sep 17, 2020 at 2:20 PM Scott Marlow <smarlow@xxxxxxxxxx> wrote:



On 9/17/20 2:41 PM, Kevin Sutter wrote:
> According to the early discussions on this topic, the JAX-RS team had
> indicated they would be changing their spec, api, javadoc (whatever) to
> allow for jaxb to be optional.  It looks like the javadoc (at least)
> still indicates that jaxb is required. That has to change (at a
> minimum).  Once this is properly delineated as optional, then any
> corresponding TCKs will need to be marked optional as well.  Which would
> then flow into the Platform TCK...

https://github.com/eclipse-ee4j/jaxrs-api/issues/906is for updating
jakarta.ws.rs.core.Link to not depend on optional (for Jakarta EE 9)
jakarta.xml.bind (JAXB).  The issue includes a link to this mailing list
conversation.

Scott

>
> ---------------------------------------------------
> Kevin Sutter
> STSM, MicroProfile and Jakarta EE architect @ IBM
> e-mail:  
sutter@xxxxxxxxxx    Twitter:  @kwsutter
> phone: tl-553-3620 (office), 507-253-3620 (office)
> LinkedIn:
https://www.linkedin.com/in/kevinwsutter
>
>
>
> From: Scott Marlow <
smarlow@xxxxxxxxxx>
> To: jakartaee-platform developer discussions
> <
jakartaee-platform-dev@xxxxxxxxxxx>
> Date: 09/17/2020 13:26
> Subject: [EXTERNAL] [jakartaee-platform-dev] What does it mean for
> Jakarta EE 9 Full Platform that Jakarta RESTful Web Services are
> depending on (optional) Jakarta XML Binding in Jakarta EE 9?
> Sent by:
jakartaee-platform-dev-bounces@xxxxxxxxxxx
> ------------------------------------------------------------------------
>
>
>
> Hi,
>
> It looks like Jakarta RESTful Web Services SPEC API depends on
> (optional) Jakarta XML Binding.  See line 28 in jaxrs-api [1] (line 551
> is also interesting).
>
> How can Jakarta XML Binding be optional [2] if Jakarta RESTful Web
> Services depends on them?
>
> Thanks Alwin for mentioning this on jakartaee-tck/issues/491 [3]!
>
> Scott
>
> [1]
>
https://github.com/eclipse-ee4j/jaxrs-api/blob/master/jaxrs-api/src/main/java/jakarta/ws/rs/core/Link.java#L28
>
> [2]
>
https://jakarta.ee/specifications/platform/9/platform-spec-9-SNAPSHOT.html#xml-binding-3-0-requirements-optional
>
> [3]
>
https://github.com/eclipse-ee4j/jakartaee-tck/issues/491#issuecomment-694324790
>
> _______________________________________________
> jakartaee-platform-dev mailing list
>
jakartaee-platform-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit
>
https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev
>
>
>
>
>
> _______________________________________________
> jakartaee-platform-dev mailing list
>
jakartaee-platform-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev
>

_______________________________________________
jakartaee-platform-dev mailing list

jakartaee-platform-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev



Back to the top