This is an automated email from the ASF dual-hosted git repository.

mattrpav pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq.git


The following commit(s) were added to refs/heads/main by this push:
     new 9db69bc29 [AMQ-9323] Migration to jakarta-based jaxb
9db69bc29 is described below

commit 9db69bc2997c7e622fb992a9f8fa1281c2abb5e4
Author: Matt Pavlovich <[email protected]>
AuthorDate: Fri Oct 6 10:23:53 2023 -0500

    [AMQ-9323] Migration to jakarta-based jaxb
---
 activemq-osgi/pom.xml                                 |  2 +-
 activemq-runtime-config/pom.xml                       | 16 +++++++---------
 .../plugin/DefaultConfigurationProcessor.java         |  2 +-
 .../activemq/plugin/RuntimeConfigurationBroker.java   |  8 ++++----
 .../jaxb2_commons/ElementAwareEqualsStrategy.java     |  4 ++--
 .../src/main/resources/binding.xjb                    |  4 ++--
 activemq-web-console/pom.xml                          |  1 -
 assembly/pom.xml                                      | 19 +++++++------------
 assembly/src/main/descriptors/common-bin.xml          |  6 +++---
 pom.xml                                               | 17 +++++++++++------
 10 files changed, 38 insertions(+), 41 deletions(-)

diff --git a/activemq-osgi/pom.xml b/activemq-osgi/pom.xml
index 506607297..14f8ceb66 100644
--- a/activemq-osgi/pom.xml
+++ b/activemq-osgi/pom.xml
@@ -165,7 +165,7 @@
               sun.misc*;resolution:=optional,
               sun.nio*;resolution:=optional,
               sun.rmi*;resolution:=optional,
-              javax.xml.bind*;version="[2,3)",
+              jakarta.xml.bind*;version="[3,5)",
               javax.jmdns*;resolution:=optional,
               javax.resource*;resolution:=optional,
               javax.servlet*;resolution:=optional,
diff --git a/activemq-runtime-config/pom.xml b/activemq-runtime-config/pom.xml
index eaa96dd6c..8cd7a6b94 100644
--- a/activemq-runtime-config/pom.xml
+++ b/activemq-runtime-config/pom.xml
@@ -68,13 +68,13 @@
       <artifactId>spring-context</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.xml.bind</groupId>
-      <artifactId>jaxb-api</artifactId>
+      <groupId>jakarta.xml.bind</groupId>
+      <artifactId>jakarta.xml.bind-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.jvnet.jaxb2_commons</groupId>
-      <artifactId>jaxb2-basics-runtime</artifactId>
-      <version>${jaxb-basics-version}</version>
+      <groupId>org.jvnet.jaxb</groupId>
+      <artifactId>jaxb-plugins-runtime</artifactId>
+      <version>${jaxb-tools-version}</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
@@ -101,13 +101,11 @@
     <dependency>
       <groupId>com.sun.xml.bind</groupId>
       <artifactId>jaxb-impl</artifactId>
-      <version>2.3.1</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>com.sun.istack</groupId>
       <artifactId>istack-commons-runtime</artifactId>
-      <version>3.0.7</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
@@ -117,7 +115,7 @@
       <plugin>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-xjc-plugin</artifactId>
-        <version>3.3.2</version>
+        <version>4.0.0</version>
         <executions>
           <execution>
             <id>compile-xsd</id>
@@ -129,7 +127,7 @@
         </executions>
         <configuration>
           <extensions>
-              
<extension>org.jvnet.jaxb2_commons:jaxb2-basics:${jaxb-basics-version}</extension>
+              
<extension>org.jvnet.jaxb:jaxb-plugins:${jaxb-tools-version}</extension>
           </extensions>
           <xsdOptions>
               <xsdOption>
diff --git 
a/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/DefaultConfigurationProcessor.java
 
b/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/DefaultConfigurationProcessor.java
index b2f0d7e58..1b67864a0 100644
--- 
a/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/DefaultConfigurationProcessor.java
+++ 
b/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/DefaultConfigurationProcessor.java
@@ -21,7 +21,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import jakarta.annotation.PostConstruct;
-import javax.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBElement;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.LinkedList;
diff --git 
a/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/RuntimeConfigurationBroker.java
 
b/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/RuntimeConfigurationBroker.java
index 9d3c68f25..89addeb7c 100644
--- 
a/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/RuntimeConfigurationBroker.java
+++ 
b/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/RuntimeConfigurationBroker.java
@@ -24,10 +24,10 @@ import java.util.Properties;
 import javax.management.JMException;
 import javax.management.ObjectName;
 import javax.xml.XMLConstants;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.bind.JAXBException;
+import jakarta.xml.bind.Unmarshaller;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
diff --git 
a/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/jaxb2_commons/ElementAwareEqualsStrategy.java
 
b/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/jaxb2_commons/ElementAwareEqualsStrategy.java
index 46fd85046..3c4c28d7e 100644
--- 
a/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/jaxb2_commons/ElementAwareEqualsStrategy.java
+++ 
b/activemq-runtime-config/src/main/java/org/apache/activemq/plugin/jaxb2_commons/ElementAwareEqualsStrategy.java
@@ -16,8 +16,8 @@
  */
 package org.apache.activemq.plugin.jaxb2_commons;
 
-import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
-import org.jvnet.jaxb2_commons.locator.ObjectLocator;
+import org.jvnet.jaxb.lang.JAXBEqualsStrategy;
+import org.jvnet.jaxb.locator.ObjectLocator;
 import org.w3c.dom.Element;
 
 /**
diff --git a/activemq-runtime-config/src/main/resources/binding.xjb 
b/activemq-runtime-config/src/main/resources/binding.xjb
index 2fd77395c..c8c69c3f7 100644
--- a/activemq-runtime-config/src/main/resources/binding.xjb
+++ b/activemq-runtime-config/src/main/resources/binding.xjb
@@ -15,8 +15,8 @@
     limitations under the License.
 -->
 
-<jxb:bindings version="2.0"
-    xmlns:jxb="http://java.sun.com/xml/ns/jaxb";
+<jxb:bindings version="3.0"
+    xmlns:jxb="https://jakarta.ee/xml/ns/jaxb";
     xmlns:xs="http://www.w3.org/2001/XMLSchema";>
 
  <jxb:bindings 
schemaLocation="../../../../activemq-spring/target/classes/activemq.xsd" 
node="/xs:schema">
diff --git a/activemq-web-console/pom.xml b/activemq-web-console/pom.xml
index 522f71117..489a64531 100644
--- a/activemq-web-console/pom.xml
+++ b/activemq-web-console/pom.xml
@@ -132,7 +132,6 @@
             <Import-Package>
               org.xml.sax,
               org.xml.sax.helpers,
-              javax.xml.bind;version="[2,3)",
               javax.xml.parsers,
               javax.xml.stream,
               javax.xml.transform,
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 5244460b5..5fde4827f 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -128,9 +128,9 @@
       <artifactId>activemq-runtime-config</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.jvnet.jaxb2_commons</groupId>
-      <artifactId>jaxb2-basics-runtime</artifactId>
-      <version>${jaxb-basics-version}</version>
+      <groupId>org.jvnet.jaxb</groupId>
+      <artifactId>jaxb-plugins-runtime</artifactId>
+      <version>${jaxb-tools-version}</version>
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
@@ -441,29 +441,24 @@
 
     <!-- JAXB/Activation/iStack -->
     <dependency>
-      <groupId>javax.xml.bind</groupId>
-      <artifactId>jaxb-api</artifactId>
-      <version>2.2.11</version>
+      <groupId>jakarta.xml.bind</groupId>
+      <artifactId>jakarta.xml.bind-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.glassfish.jaxb</groupId>
       <artifactId>jaxb-core</artifactId>
-      <version>2.2.11</version>
     </dependency>
     <dependency>
       <groupId>org.glassfish.jaxb</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>2.2.11</version>
     </dependency>
     <dependency>
       <groupId>com.sun.istack</groupId>
       <artifactId>istack-commons-runtime</artifactId>
-      <version>3.0.11</version>
     </dependency>
     <dependency>
-      <groupId>javax.activation</groupId>
-      <artifactId>javax.activation-api</artifactId>
-      <version>1.2.0</version>
+      <groupId>jakarta.activation</groupId>
+      <artifactId>jakarta.activation-api</artifactId>
     </dependency>
   </dependencies>
 
diff --git a/assembly/src/main/descriptors/common-bin.xml 
b/assembly/src/main/descriptors/common-bin.xml
index 9b2f298b9..013a0e8f9 100644
--- a/assembly/src/main/descriptors/common-bin.xml
+++ b/assembly/src/main/descriptors/common-bin.xml
@@ -145,11 +145,11 @@
         <include>jakarta.transaction:jakarta.transaction-api</include>
         <include>${pom.groupId}:activemq-web</include>
         <include>org.fusesource.hawtbuf:hawtbuf</include>
-        <include>javax.xml.bind:jaxb-api</include>
+        <include>jakarta.xml.bind:jaxb-api</include>
         <include>org.glassfish.jaxb:jaxb-runtime</include>
         <include>org.glassfish.jaxb:jaxb-core</include>
         <include>com.sun.istack:istack-commons-runtime</include>
-        <include>javax.activation:javax.activation-api</include>
+        <include>jakarta.activation:jakarta.activation-api</include>
         <include>com.fasterxml.jackson.core:jackson-core</include>
         <include>com.fasterxml.jackson.core:jackson-annotations</include>
         <include>com.fasterxml.jackson.core:jackson-databind</include>
@@ -217,7 +217,7 @@
         <include>org.jmdns:jmdns</include>
         <include>org.apache.qpid:proton-j</include>
         <include>${pom.groupId}:activemq-runtime-config</include>
-        <include>org.jvnet.jaxb2_commons:jaxb2-basics-runtime</include>
+        <include>org.jvnet.jaxb:jaxb-plugins-runtime</include>
 
         <!-- Apache Shiro dependencies: -->
         <include>org.apache.shiro:shiro-core</include>
diff --git a/pom.xml b/pom.xml
index 5db39d3d6..d99cce31a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,6 +69,7 @@
     <jackson-version>2.15.2</jackson-version>
     <jakarta-jms-api-version>3.1.0</jakarta-jms-api-version>
     <jasypt-version>1.9.3</jasypt-version>
+    <jaxb-version>4.0.2</jaxb-version>
     <jaxb-bundle-version>2.3.2_1</jaxb-bundle-version>
     <jetty11-version>11.0.17</jetty11-version>
     <jetty-version>${jetty11-version}</jetty-version>
@@ -104,7 +105,7 @@
     <xstream-version>1.4.20</xstream-version>
     <xbean-version>4.23</xbean-version>
     <xerces-version>2.12.2</xerces-version>
-    <jaxb-basics-version>0.12.0</jaxb-basics-version>
+    <jaxb-tools-version>4.0.0</jaxb-tools-version>
     <stompjms-version>3.1.0</stompjms-version>
 
     <pax-logging-version>2.1.3</pax-logging-version>
@@ -863,6 +864,14 @@
         <version>${xpp3-version}</version>
       </dependency>
 
+      <dependency>
+        <groupId>org.glassfish.jaxb</groupId>
+        <artifactId>jaxb-bom</artifactId>
+        <version>${jaxb-version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+
       <dependency>
         <groupId>org.eclipse.jetty</groupId>
         <artifactId>jetty-bom</artifactId>
@@ -986,11 +995,7 @@
         <artifactId>org.apache.servicemix.bundles.josql</artifactId>
         <version>${josql-version}</version>
       </dependency>
-      <dependency>
-        <groupId>javax.xml.bind</groupId>
-        <artifactId>jaxb-api</artifactId>
-        <version>2.3.1</version>
-      </dependency>
+
       <dependency>
         <groupId>jakarta.annotation</groupId>
         <artifactId>jakarta.annotation-api</artifactId>

Reply via email to