diff --git a/artemis-cdi-client/pom.xml b/artemis-cdi-client/pom.xml
index 9cc3fa8e52..53350e7e18 100644
--- a/artemis-cdi-client/pom.xml
+++ b/artemis-cdi-client/pom.xml
@@ -29,6 +29,7 @@
${project.basedir}/..
+ 1.3.2
artemis-cdi-client
@@ -83,6 +84,11 @@
javax.inject
javax.inject
+
+ javax.annotation
+ javax.annotation-api
+ ${javax.annotation.version}
+
javax.enterprise
cdi-api
diff --git a/artemis-dto/pom.xml b/artemis-dto/pom.xml
index 27fecd91bd..f0780dd552 100644
--- a/artemis-dto/pom.xml
+++ b/artemis-dto/pom.xml
@@ -99,6 +99,9 @@
+
@@ -125,6 +128,11 @@
jaxb-jxc
${version.jaxb}
+
+ org.glassfish.jaxb
+ jaxb-runtime
+ 2.3.2
+
diff --git a/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/package-info.java b/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/package-info.java
index 0a8b297ee4..7055bfb9c0 100644
--- a/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/package-info.java
+++ b/artemis-dto/src/main/java/org/apache/activemq/artemis/dto/package-info.java
@@ -18,6 +18,7 @@
* The JAXB POJOs for the XML configuration of ActiveMQ Artemis broker
*/
@javax.xml.bind.annotation.XmlSchema(
+ xmlns = {@javax.xml.bind.annotation.XmlNs(prefix = "xs", namespaceURI = "http://www.w3.org/2001/XMLSchema")},
namespace = "http://activemq.org/schema",
elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package org.apache.activemq.artemis.dto;
diff --git a/artemis-features/pom.xml b/artemis-features/pom.xml
index 283608c5b2..7afbbf6589 100644
--- a/artemis-features/pom.xml
+++ b/artemis-features/pom.xml
@@ -26,7 +26,7 @@
ActiveMQ Artemis Features
- 4.1.1
+ 4.2.3
diff --git a/artemis-rest/pom.xml b/artemis-rest/pom.xml
index 96796a0465..5af0fc6990 100644
--- a/artemis-rest/pom.xml
+++ b/artemis-rest/pom.xml
@@ -127,6 +127,12 @@
jaxb-api
2.2.7
+
+ org.glassfish.jaxb
+ jaxb-runtime
+ 2.3.2
+ test
+
javax.servlet
servlet-api
diff --git a/artemis-selector/pom.xml b/artemis-selector/pom.xml
index fc267c3d8b..4a61be5225 100644
--- a/artemis-selector/pom.xml
+++ b/artemis-selector/pom.xml
@@ -84,6 +84,48 @@
+
+ jdk8
+
+ 1.8
+
+ java.vendor
+ !IBM Corporation
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+ -Xep:MissingOverride:WARN
+
+
+
+
+
+
+
+ jdk11
+
+ 11
+
+ java.vendor
+ !IBM Corporation
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+
+
@@ -94,16 +136,6 @@
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- -Xep:MissingOverride:WARN
-
-
-
org.codehaus.mojo
javacc-maven-plugin
diff --git a/artemis-website/pom.xml b/artemis-website/pom.xml
index 3ceda36e78..7ee20871d1 100644
--- a/artemis-website/pom.xml
+++ b/artemis-website/pom.xml
@@ -92,7 +92,7 @@
maven-javadoc-plugin
- 2.10.1
+ 3.1.0
javadoc-jar
@@ -101,6 +101,8 @@
jar
+ none
+ ${forceHtml4}
true
128m
512m
@@ -129,6 +131,15 @@
+
+ jdk11
+
+ 11
+
+
+ -html4
+
+
release
diff --git a/pom.xml b/pom.xml
index 436adf36ea..c1125b8490 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,7 +75,7 @@
scp://people.apache.org/x1/www/activemq.apache.org
1.0.0
- 4.0.6
+ 4.2.3
4.9.1
2.4
3.0
@@ -89,7 +89,7 @@
9.4.3.v20170317
3.6.13.Final
2.4
- 2.8.47
+ 2.25.0
4.1.34.Final
2.0.22.Final
0.33.1
@@ -867,6 +867,10 @@
jdk18
1.8
+
+ java.vendor
+ !IBM Corporation
+
@@ -877,6 +881,68 @@
-Xdoclint:none
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 3.1
+
+
+ true
+ true
+ ${javac-compiler-id}
+
+ -Xep:MissingOverride:ERROR
+ -Xep:NonAtomicVolatileUpdate:ERROR
+ -Xep:SynchronizeOnNonFinalField:ERROR
+ -Xep:StaticAccessedFromInstance:ERROR
+ -Xep:SynchronizeOnNonFinalField:ERROR
+ -Xep:WaitNotInLoop:ERROR
+ -Xdiags:verbose
+
+
+
+
+ org.codehaus.plexus
+ plexus-compiler-javac-errorprone
+ 2.8
+
+
+ com.google.errorprone
+ error_prone_core
+ 2.0.9
+
+
+
+
+
+
+
+ jdk11
+
+ 11
+
+ java.vendor
+ !IBM Corporation
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+
+ -Xdoclint:none
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 3.1
+
@@ -1334,40 +1400,6 @@
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 3.1
-
-
- true
- true
- ${javac-compiler-id}
-
- -Xep:MissingOverride:ERROR
- -Xep:NonAtomicVolatileUpdate:ERROR
- -Xep:SynchronizeOnNonFinalField:ERROR
- -Xep:StaticAccessedFromInstance:ERROR
- -Xep:SynchronizeOnNonFinalField:ERROR
- -Xep:WaitNotInLoop:ERROR
- -Xdiags:verbose
-
-
-
-
- org.codehaus.plexus
- plexus-compiler-javac-errorprone
- 2.8
-
-
- com.google.errorprone
- error_prone_core
- 2.0.9
-
-
-
org.apache.maven.plugins
maven-clean-plugin
diff --git a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jmx/JmxConnectionTest.java b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jmx/JmxConnectionTest.java
index bb21c92442..c9ec140d17 100644
--- a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jmx/JmxConnectionTest.java
+++ b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/jmx/JmxConnectionTest.java
@@ -26,9 +26,11 @@ import java.lang.reflect.Field;
import java.rmi.server.RemoteObject;
import java.rmi.server.RemoteRef;
-import com.sun.jmx.remote.internal.ProxyRef;
+import io.netty.util.internal.PlatformDependent;
+import io.netty.util.internal.shaded.org.jctools.util.UnsafeAccess;
import org.apache.activemq.artemis.tests.smoke.common.SmokeTestBase;
import org.junit.Assert;
+import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import sun.rmi.server.UnicastRef;
@@ -47,16 +49,30 @@ public class JmxConnectionTest extends SmokeTestBase {
private static final int RMI_REGISTRY_PORT = 10098;
public static final String SERVER_NAME_0 = "jmx";
+ private Class> proxyRefClass;
@Before
public void before() throws Exception {
cleanupData(SERVER_NAME_0);
disableCheckThread();
startServer(SERVER_NAME_0, 0, 30000);
+ try {
+ final Class> aClass = Class.forName("com.sun.jmx.remote.internal.ProxyRef");
+ proxyRefClass = aClass;
+ } catch (ClassNotFoundException ex) {
+ //try with a shiny new version
+ try {
+ final Class> aClass = Class.forName("com.sun.jmx.remote.internal.rmi.ProxyRef");
+ proxyRefClass = aClass;
+ } catch (ClassNotFoundException ex2) {
+ //no op
+ }
+ }
}
@Test
public void testJmxConnection() throws Throwable {
+ Assert.assertNotNull(proxyRefClass);
try {
// Without this, the RMI server would bind to the default interface IP (the user's local IP mostly)
@@ -96,17 +112,22 @@ public class JmxConnectionTest extends SmokeTestBase {
// 3. RemoteObject::getRef is hereby expected to return ProxyRef
RemoteRef remoteRef = remoteObject.getRef();
- Assert.assertTrue(remoteRef instanceof ProxyRef);
- ProxyRef proxyRef = (ProxyRef) remoteRef;
-
+ Assert.assertTrue(proxyRefClass.isInstance(remoteRef));
// 4. ProxyRef::ref is expected to contain UnicastRef (UnicastRef2 resp.)
- Field refField = ProxyRef.class.getDeclaredField("ref");
- refField.setAccessible(true);
- remoteRef = (RemoteRef) refField.get(proxyRef);
- Assert.assertTrue(remoteRef instanceof UnicastRef);
+ Field refField = proxyRefClass.getDeclaredField("ref");
+ RemoteRef remoteRefField;
+ try {
+ refField.setAccessible(true);
+ remoteRefField = (RemoteRef) refField.get(remoteRef);
+ } catch (Throwable error) {
+ Assume.assumeTrue("Unsafe must be available to continue the test", PlatformDependent.hasUnsafe());
+ remoteRefField = (RemoteRef) UnsafeAccess.UNSAFE.getObject(remoteRef, UnsafeAccess.UNSAFE.objectFieldOffset(refField));
+ }
+ Assert.assertNotNull(remoteRefField);
+ Assert.assertTrue(remoteRefField instanceof UnicastRef);
// 5. UnicastRef::getLiveRef returns LiveRef
- LiveRef liveRef = ((UnicastRef) remoteRef).getLiveRef();
+ LiveRef liveRef = ((UnicastRef) remoteRefField).getLiveRef();
Assert.assertEquals(RMI_REGISTRY_PORT, liveRef.getPort());
@@ -119,5 +140,4 @@ public class JmxConnectionTest extends SmokeTestBase {
}
}
-
}