Petals Distribution

Use the latest version of JAXB

Details

  • Type: Task Task
  • Status: New New
  • Priority: Minor Minor
  • Resolution: Unresolved
  • Affects Version/s: 4.2.3
  • Fix Version/s: None
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    JAXB is used to :

    • generate classes from xsd schemas
    • parse xml files to Java objects

    The generator uses the maven-jaxb2-plugin that uses the latest version of jaxb (2.2.11 right now).

    The parser, which relies on JAXBContext and SPI (the META-INF/services thing) resolution, uses whatever is available in the classpath.
    Sometimes it is JAXB bundled with Java 7 (2.2.4-1 right now) and sometimes it is JAXB-RI present as a dependency (com.sun.xml.bind:jaxb-impl, version 2.2.4-1 as set in the parent pom).

    It would make sense to always use JAXB-RI version 2.2.11 as it is the latest.

    Changes would imply:

    • using the new groupId org.glassfish.jaxb and new artifactIds jaxb-core, jaxb-runtime and jaxb-xjc.
    • excluding jaxb-api (first check if it is incompatible about the one in Java 7).
    • verify all the dependencies that relies on jaxb (for example by blacklisting in the enforcer the old groupId and replace the dependencies), including easycommons and easywsdl

    Advantages would be to have more coherence everywhere and potential bug fixed.

    Show
    JAXB is used to :
    • generate classes from xsd schemas
    • parse xml files to Java objects
    The generator uses the maven-jaxb2-plugin that uses the latest version of jaxb (2.2.11 right now). The parser, which relies on JAXBContext and SPI (the META-INF/services thing) resolution, uses whatever is available in the classpath. Sometimes it is JAXB bundled with Java 7 (2.2.4-1 right now) and sometimes it is JAXB-RI present as a dependency (com.sun.xml.bind:jaxb-impl, version 2.2.4-1 as set in the parent pom). It would make sense to always use JAXB-RI version 2.2.11 as it is the latest. Changes would imply:
    • using the new groupId org.glassfish.jaxb and new artifactIds jaxb-core, jaxb-runtime and jaxb-xjc.
    • excluding jaxb-api (first check if it is incompatible about the one in Java 7).
    • verify all the dependencies that relies on jaxb (for example by blacklisting in the enforcer the old groupId and replace the dependencies), including easycommons and easywsdl
    Advantages would be to have more coherence everywhere and potential bug fixed.
  • Environment:
    -

Issue Links

Activity

Hide
Christophe DENEUX added a comment - Thu, 12 Feb 2015 - 09:07:59 +0100

Which version is embedded with Java 8 ? (Don't forget that Petals ESB must run on Java 8)

Show
Christophe DENEUX added a comment - Thu, 12 Feb 2015 - 09:07:59 +0100 Which version is embedded with Java 8 ? (Don't forget that Petals ESB must run on Java 8)
Hide
Victor NOËL added a comment - Thu, 12 Feb 2015 - 09:37:24 +0100

It is version 2.2.7 or something like that I think.

Normally the API shouldn't be changing for the whole 2.2 branch I guess, but this has to be verified because the api that is shipped with Java 7 or 8 is the one that will be used except if we exploit the endorsed mechanism (which loads jar before the Java lib).
That could be an option too then.

Show
Victor NOËL added a comment - Thu, 12 Feb 2015 - 09:37:24 +0100 It is version 2.2.7 or something like that I think. Normally the API shouldn't be changing for the whole 2.2 branch I guess, but this has to be verified because the api that is shipped with Java 7 or 8 is the one that will be used except if we exploit the endorsed mechanism (which loads jar before the Java lib). That could be an option too then.
Hide
Victor NOËL added a comment - Thu, 12 Feb 2015 - 12:47:34 +0100

This is also related to: EASYWSDL-16

Show
Victor NOËL added a comment - Thu, 12 Feb 2015 - 12:47:34 +0100 This is also related to: EASYWSDL-16

People

Dates

  • Created:
    Wed, 11 Feb 2015 - 17:23:46 +0100
    Updated:
    Thu, 23 Apr 2015 - 11:34:27 +0200