diff --git a/.gitignore b/.gitignore
index 9f446ad..8cf787c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@ scylla-apiclient/target/
.project
.settings
build/
+/.idea/
diff --git a/pom.xml b/pom.xml
index 16efdef..0bf5123 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,30 +2,24 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- com.scylladb.jmx
scylla-jmx
1.0
jar
- com.scylladb.jmx
+ it.cavallium.scylladb.jmx
scylla-jmx-parent
- 1.0
+ 1.1
./scylla-jmx-parent/pom.xml
Scylla JMX
-
- 1.8
- 1.8
-
-
- com.scylladb.jmx
+ it.cavallium.scylladb.jmx
scylla-apiclient
- 1.0
+ 1.1
junit
@@ -36,10 +30,53 @@
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.10.1
+
+
+ 17
+
+ --add-exports
+ java.management/com.sun.jmx.mbeanserver=scylla.jmx
+ --add-exports
+ java.management/com.sun.jmx.interceptor=scylla.jmx
+
+
+
org.apache.maven.plugins
maven-shade-plugin
- 2.4.1
+ 3.4.1
+
+
+
+ *:*
+
+
+ com.sun.activation:jakarta.activation
+
+
+
+
+ *:*
+
+ module-info.class
+ META-INF/versions/*/module-info.class
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+ META-INF/MANIFEST.MF
+ META-INF/*.MD
+ META-INF/*.md
+ META-INF/LICENSE
+ META-INF/LICENSE.txt
+ META-INF/NOTICE
+
+
+
+
package
diff --git a/scylla-apiclient/dependency-reduced-pom.xml b/scylla-apiclient/dependency-reduced-pom.xml
deleted file mode 100644
index e3eab86..0000000
--- a/scylla-apiclient/dependency-reduced-pom.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- scylla-jmx
- com.scylladb.jmx
- 1.0
-
- 4.0.0
- scylla-apiclient
- Scylla REST API client
-
-
- junit
- junit
- 4.8.2
- test
-
-
-
- 1.8
- 1.8
-
-
-
diff --git a/scylla-apiclient/pom.xml b/scylla-apiclient/pom.xml
index 325404d..f7c5882 100644
--- a/scylla-apiclient/pom.xml
+++ b/scylla-apiclient/pom.xml
@@ -1,86 +1,89 @@
-4.0.0
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
- com.scylladb.jmx
- scylla-apiclient
- jar
- 1.0
+ scylla-apiclient
+ jar
+ 1.1
- Scylla REST API client
+
+ ../scylla-jmx-parent/pom.xml
+ it.cavallium.scylladb.jmx
+ scylla-jmx-parent
+ 1.1
+
-
- 1.8
- 1.8
- 2.12.6
- 2.12.6.1
-
+ Scylla REST API client
-
-
- org.yaml
- snakeyaml
- 1.26
-
-
- org.glassfish.jersey.core
- jersey-common
- 2.22.1
-
-
- javax.ws.rs
- javax.ws.rs-api
- 2.0.1
-
-
- javax.ws.rs
- jsr311-api
- 1.1.1
-
-
- org.glassfish.jersey.core
- jersey-client
- 2.22.1
-
-
- org.glassfish
- javax.json
- 1.0.4
-
-
- com.google.guava
- guava
- 29.0-jre
-
-
- com.google.collections
- google-collections
- 1.0
-
-
- javax.activation
- activation
- 1.1
-
-
- com.fasterxml.jackson.core
- jackson-annotations
- ${jackson.version}
-
-
- com.fasterxml.jackson.core
- jackson-databind
- ${jackson.databind.version}
-
-
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-json-provider
- ${jackson.version}
-
-
+
+ 2.14.0
+ 2.14.0
+
-
+
+
+ org.yaml
+ snakeyaml
+ 1.33
+
+
+ org.glassfish.jersey.core
+ jersey-common
+ 3.1.0
+
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+ 3.1.0
+
+
+ org.glassfish.jersey.core
+ jersey-client
+ 3.1.0
+
+
+ jakarta.json
+ jakarta.json-api
+ 2.1.1
+
+
+ com.google.guava
+ guava
+ 31.1-jre
+
+
+ jakarta.activation
+ jakarta.activation-api
+ 2.1.1
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ ${jackson.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.databind.version}
+
+
+ com.fasterxml.jackson.jakarta.rs
+ jackson-jakarta-rs-json-provider
+ 2.14.1
+
+
-
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.10.1
+
+ 17
+
+
+
+
diff --git a/scylla-apiclient/src/main/java/com/scylladb/jmx/api/APIClient.java b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/APIClient.java
index 8bc7ddc..4db469c 100644
--- a/scylla-apiclient/src/main/java/com/scylladb/jmx/api/APIClient.java
+++ b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/APIClient.java
@@ -3,6 +3,22 @@
*/
package com.scylladb.jmx.api;
+import com.fasterxml.jackson.jakarta.rs.json.JacksonJsonProvider;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonReaderFactory;
+import jakarta.json.JsonString;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
import java.io.StringReader;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -18,28 +34,12 @@ import java.util.Set;
import java.util.function.BiFunction;
import java.util.logging.Logger;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonReaderFactory;
-import javax.json.JsonString;
import javax.management.openmbean.TabularData;
import javax.management.openmbean.TabularDataSupport;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
import org.glassfish.jersey.client.ClientConfig;
-import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
-import com.scylladb.jmx.utils.SnapshotDetailsTabularData;
+import com.scylladb.jmx.api.utils.SnapshotDetailsTabularData;
public class APIClient {
private Map cache = new HashMap();
@@ -53,7 +53,7 @@ public class APIClient {
public APIClient(APIConfig config) {
this.config = config;
this.clientConfig = new ClientConfig();
- clientConfig.register(new JacksonJaxbJsonProvider());
+ clientConfig.register(new JacksonJsonProvider());
this.client = ClientBuilder.newClient(clientConfig);
}
diff --git a/scylla-apiclient/src/main/java/com/scylladb/jmx/api/CacheEntry.java b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/CacheEntry.java
index 2451180..0932c9a 100644
--- a/scylla-apiclient/src/main/java/com/scylladb/jmx/api/CacheEntry.java
+++ b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/CacheEntry.java
@@ -21,7 +21,8 @@
package com.scylladb.jmx.api;
-import javax.json.JsonObject;
+
+import jakarta.json.JsonObject;
class CacheEntry {
private long time;
diff --git a/scylla-apiclient/src/main/java/com/scylladb/jmx/utils/FileUtils.java b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/utils/FileUtils.java
similarity index 98%
rename from scylla-apiclient/src/main/java/com/scylladb/jmx/utils/FileUtils.java
rename to scylla-apiclient/src/main/java/com/scylladb/jmx/api/utils/FileUtils.java
index b71c055..779bf8e 100644
--- a/scylla-apiclient/src/main/java/com/scylladb/jmx/utils/FileUtils.java
+++ b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/utils/FileUtils.java
@@ -22,7 +22,7 @@
* Modified by Cloudius Systems
*/
-package com.scylladb.jmx.utils;
+package com.scylladb.jmx.api.utils;
import java.io.File;
import java.text.DecimalFormat;
diff --git a/scylla-apiclient/src/main/java/com/scylladb/jmx/utils/Pair.java b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/utils/Pair.java
similarity index 98%
rename from scylla-apiclient/src/main/java/com/scylladb/jmx/utils/Pair.java
rename to scylla-apiclient/src/main/java/com/scylladb/jmx/api/utils/Pair.java
index 9644cc9..3d1f892 100644
--- a/scylla-apiclient/src/main/java/com/scylladb/jmx/utils/Pair.java
+++ b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/utils/Pair.java
@@ -22,7 +22,7 @@
* Modified by Cloudius Systems
*/
-package com.scylladb.jmx.utils;
+package com.scylladb.jmx.api.utils;
import com.google.common.base.Objects;
diff --git a/scylla-apiclient/src/main/java/com/scylladb/jmx/utils/SnapshotDetailsTabularData.java b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/utils/SnapshotDetailsTabularData.java
similarity index 99%
rename from scylla-apiclient/src/main/java/com/scylladb/jmx/utils/SnapshotDetailsTabularData.java
rename to scylla-apiclient/src/main/java/com/scylladb/jmx/api/utils/SnapshotDetailsTabularData.java
index 3624ee4..bd2877e 100644
--- a/scylla-apiclient/src/main/java/com/scylladb/jmx/utils/SnapshotDetailsTabularData.java
+++ b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/utils/SnapshotDetailsTabularData.java
@@ -20,7 +20,7 @@
*
* Modified by Cloudius Systems
*/
-package com.scylladb.jmx.utils;
+package com.scylladb.jmx.api.utils;
import java.util.Map;
diff --git a/scylla-apiclient/src/main/java/module-info.java b/scylla-apiclient/src/main/java/module-info.java
new file mode 100644
index 0000000..1c8ae97
--- /dev/null
+++ b/scylla-apiclient/src/main/java/module-info.java
@@ -0,0 +1,13 @@
+module scylla.apiclient {
+ exports com.scylladb.jmx.api;
+ exports com.scylladb.jmx.api.utils;
+ requires jakarta.ws.rs;
+ requires com.fasterxml.jackson.jakarta.rs.json;
+ requires jersey.client;
+ requires java.logging;
+ requires jakarta.json;
+ requires java.management;
+ requires org.yaml.snakeyaml;
+ requires com.google.common;
+ requires jersey.common;
+}
\ No newline at end of file
diff --git a/scylla-jmx-parent/pom.xml b/scylla-jmx-parent/pom.xml
index 1d834ef..4d2cdaa 100644
--- a/scylla-jmx-parent/pom.xml
+++ b/scylla-jmx-parent/pom.xml
@@ -1,18 +1,29 @@
- 4.0.0
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
- com.scylladb.jmx
- scylla-jmx-parent
- 1.0
- pom
+ it.cavallium.scylladb.jmx
+ scylla-jmx-parent
+ 1.1
+ pom
-
- ../
- ../scylla-apiclient
-
+
+ ../
+ ../scylla-apiclient
+
+ Scylla JMX Parent
-
- Scylla JMX Parent
+
+
+ mchv-release-distribution
+ MCHV Release Apache Maven Packages Distribution
+ https://mvn.mchv.eu/repository/mchv
+
+
+ mchv-snapshot-distribution
+ MCHV Snapshot Apache Maven Packages Distribution
+ https://mvn.mchv.eu/repository/mchv-snapshot
+
+
diff --git a/src/main/java/com/scylladb/jmx/utils/DateXmlAdapter.java b/src/main/java/com/scylladb/jmx/utils/DateXmlAdapter.java
index 572cec9..136c02c 100644
--- a/src/main/java/com/scylladb/jmx/utils/DateXmlAdapter.java
+++ b/src/main/java/com/scylladb/jmx/utils/DateXmlAdapter.java
@@ -1,10 +1,9 @@
package com.scylladb.jmx.utils;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
import java.time.Instant;
import java.util.Date;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-
public class DateXmlAdapter extends XmlAdapter {
@Override
public String marshal(Date v) throws Exception {
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
new file mode 100644
index 0000000..a5d15a5
--- /dev/null
+++ b/src/main/java/module-info.java
@@ -0,0 +1,10 @@
+module scylla.jmx {
+ requires java.logging;
+ requires java.management;
+ requires scylla.apiclient;
+ requires jakarta.json;
+ requires jakarta.ws.rs;
+ requires com.google.common;
+ requires jakarta.xml.bind;
+ requires com.fasterxml.jackson.annotation;
+}
\ No newline at end of file
diff --git a/src/main/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/main/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 7575534..7e28244 100644
--- a/src/main/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/main/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -23,11 +23,18 @@
*/
package org.apache.cassandra.db;
+import static jakarta.json.Json.createObjectBuilder;
import static java.lang.String.valueOf;
import static java.util.Arrays.asList;
import static java.util.stream.Collectors.toMap;
-import static javax.json.Json.createObjectBuilder;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonObjectBuilder;
+import jakarta.json.JsonReader;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
import java.io.StringReader;
import java.io.OutputStream;
import java.util.Collections;
@@ -44,11 +51,6 @@ import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.logging.Logger;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonReader;
import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
@@ -61,8 +63,6 @@ import javax.management.openmbean.OpenType;
import javax.management.openmbean.SimpleType;
import javax.management.openmbean.TabularDataSupport;
import javax.management.openmbean.TabularType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
import org.apache.cassandra.metrics.TableMetrics;
diff --git a/src/main/java/org/apache/cassandra/db/compaction/CompactionHistoryTabularData.java b/src/main/java/org/apache/cassandra/db/compaction/CompactionHistoryTabularData.java
index 07a27ee..30dae4f 100644
--- a/src/main/java/org/apache/cassandra/db/compaction/CompactionHistoryTabularData.java
+++ b/src/main/java/org/apache/cassandra/db/compaction/CompactionHistoryTabularData.java
@@ -22,8 +22,8 @@
*/
package org.apache.cassandra.db.compaction;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
import javax.management.openmbean.CompositeDataSupport;
import javax.management.openmbean.CompositeType;
import javax.management.openmbean.OpenDataException;
diff --git a/src/main/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/main/java/org/apache/cassandra/db/compaction/CompactionManager.java
index f1b0e20..87ca814 100644
--- a/src/main/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/main/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -17,18 +17,18 @@
*/
package org.apache.cassandra.db.compaction;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
import javax.management.openmbean.OpenDataException;
import javax.management.openmbean.TabularData;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
import org.apache.cassandra.metrics.CompactionMetrics;
diff --git a/src/main/java/org/apache/cassandra/gms/FailureDetector.java b/src/main/java/org/apache/cassandra/gms/FailureDetector.java
index 8d6056f..1c5f207 100644
--- a/src/main/java/org/apache/cassandra/gms/FailureDetector.java
+++ b/src/main/java/org/apache/cassandra/gms/FailureDetector.java
@@ -24,13 +24,13 @@
package org.apache.cassandra.gms;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonValue;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonValue;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.CompositeDataSupport;
import javax.management.openmbean.CompositeType;
diff --git a/src/main/java/org/apache/cassandra/gms/Gossiper.java b/src/main/java/org/apache/cassandra/gms/Gossiper.java
index b7963a6..6d6cef7 100644
--- a/src/main/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/main/java/org/apache/cassandra/gms/Gossiper.java
@@ -23,12 +23,11 @@
*/
package org.apache.cassandra.gms;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
import java.net.UnknownHostException;
import java.util.logging.Logger;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-
import com.scylladb.jmx.api.APIClient;
import com.scylladb.jmx.metrics.APIMBean;
diff --git a/src/main/java/org/apache/cassandra/locator/EndpointSnitchInfo.java b/src/main/java/org/apache/cassandra/locator/EndpointSnitchInfo.java
index 8f5d2f0..f07de89 100644
--- a/src/main/java/org/apache/cassandra/locator/EndpointSnitchInfo.java
+++ b/src/main/java/org/apache/cassandra/locator/EndpointSnitchInfo.java
@@ -19,13 +19,12 @@ package org.apache.cassandra.locator;
import static java.util.Collections.singletonMap;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.logging.Logger;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-
import com.scylladb.jmx.api.APIClient;
import com.scylladb.jmx.metrics.APIMBean;
diff --git a/src/main/java/org/apache/cassandra/metrics/CompactionMetrics.java b/src/main/java/org/apache/cassandra/metrics/CompactionMetrics.java
index 62f6b54..2bdd3fa 100644
--- a/src/main/java/org/apache/cassandra/metrics/CompactionMetrics.java
+++ b/src/main/java/org/apache/cassandra/metrics/CompactionMetrics.java
@@ -23,11 +23,11 @@
*/
package org.apache.cassandra.metrics;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
import java.util.HashMap;
import java.util.Map;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
import javax.management.MalformedObjectNameException;
/**
diff --git a/src/main/java/org/apache/cassandra/metrics/MetricsRegistry.java b/src/main/java/org/apache/cassandra/metrics/MetricsRegistry.java
index 3f390d4..14e4557 100644
--- a/src/main/java/org/apache/cassandra/metrics/MetricsRegistry.java
+++ b/src/main/java/org/apache/cassandra/metrics/MetricsRegistry.java
@@ -21,6 +21,9 @@ import static com.scylladb.jmx.api.APIClient.getReader;
import static java.lang.Math.floor;
import static java.util.logging.Level.SEVERE;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonNumber;
+import jakarta.json.JsonObject;
import java.util.Arrays;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
@@ -29,9 +32,6 @@ import java.util.function.Function;
import java.util.function.Supplier;
import java.util.logging.Logger;
-import javax.json.JsonArray;
-import javax.json.JsonNumber;
-import javax.json.JsonObject;
import javax.management.InstanceAlreadyExistsException;
import javax.management.MBeanRegistrationException;
import javax.management.MBeanServer;
diff --git a/src/main/java/org/apache/cassandra/metrics/StreamingMetrics.java b/src/main/java/org/apache/cassandra/metrics/StreamingMetrics.java
index 967bdfe..c1b7f79 100644
--- a/src/main/java/org/apache/cassandra/metrics/StreamingMetrics.java
+++ b/src/main/java/org/apache/cassandra/metrics/StreamingMetrics.java
@@ -26,13 +26,13 @@ package org.apache.cassandra.metrics;
import static java.util.Arrays.asList;
import static org.apache.cassandra.metrics.DefaultNameFactory.createMetricName;
+import jakarta.json.JsonArray;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.Set;
-import javax.json.JsonArray;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.OperationsException;
diff --git a/src/main/java/org/apache/cassandra/net/MessagingService.java b/src/main/java/org/apache/cassandra/net/MessagingService.java
index 4bbae71..9e62385 100644
--- a/src/main/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/main/java/org/apache/cassandra/net/MessagingService.java
@@ -24,6 +24,8 @@ package org.apache.cassandra.net;
import static java.util.Collections.emptyMap;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;
@@ -32,9 +34,6 @@ import java.util.logging.Logger;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-
import org.apache.cassandra.metrics.DroppedMessageMetrics;
import com.scylladb.jmx.api.APIClient;
diff --git a/src/main/java/org/apache/cassandra/service/CacheService.java b/src/main/java/org/apache/cassandra/service/CacheService.java
index 8c1cb06..f2c4e14 100644
--- a/src/main/java/org/apache/cassandra/service/CacheService.java
+++ b/src/main/java/org/apache/cassandra/service/CacheService.java
@@ -24,12 +24,11 @@
package org.apache.cassandra.service;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
import java.util.concurrent.ExecutionException;
import java.util.logging.Logger;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-
import org.apache.cassandra.metrics.CacheMetrics;
import com.scylladb.jmx.api.APIClient;
diff --git a/src/main/java/org/apache/cassandra/service/PerTableSSTableInfo.java b/src/main/java/org/apache/cassandra/service/PerTableSSTableInfo.java
index bfcd4fd..6796693 100644
--- a/src/main/java/org/apache/cassandra/service/PerTableSSTableInfo.java
+++ b/src/main/java/org/apache/cassandra/service/PerTableSSTableInfo.java
@@ -2,12 +2,12 @@ package org.apache.cassandra.service;
import static com.sun.jmx.mbeanserver.MXBeanMappingFactory.DEFAULT;
+import jakarta.xml.bind.annotation.XmlRootElement;
import java.io.InvalidObjectException;
import java.util.List;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.OpenDataException;
-import javax.xml.bind.annotation.XmlRootElement;
import com.sun.jmx.mbeanserver.MXBeanMapping;
diff --git a/src/main/java/org/apache/cassandra/service/SSTableInfo.java b/src/main/java/org/apache/cassandra/service/SSTableInfo.java
index d451772..4305b58 100644
--- a/src/main/java/org/apache/cassandra/service/SSTableInfo.java
+++ b/src/main/java/org/apache/cassandra/service/SSTableInfo.java
@@ -1,13 +1,12 @@
package org.apache.cassandra.service;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.scylladb.jmx.utils.DateXmlAdapter;
diff --git a/src/main/java/org/apache/cassandra/service/StorageProxy.java b/src/main/java/org/apache/cassandra/service/StorageProxy.java
index 1b1f23a..bd74ca4 100644
--- a/src/main/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/main/java/org/apache/cassandra/service/StorageProxy.java
@@ -25,18 +25,15 @@ package org.apache.cassandra.service;
import static java.util.Collections.emptySet;
+import jakarta.json.JsonArray;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.logging.Logger;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.management.ObjectName;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.metrics.CASClientRequestMetrics;
import org.apache.cassandra.metrics.ClientRequestMetrics;
diff --git a/src/main/java/org/apache/cassandra/service/StorageService.java b/src/main/java/org/apache/cassandra/service/StorageService.java
index 3281bac..32e881d 100644
--- a/src/main/java/org/apache/cassandra/service/StorageService.java
+++ b/src/main/java/org/apache/cassandra/service/StorageService.java
@@ -24,6 +24,11 @@ package org.apache.cassandra.service;
import static java.util.Arrays.asList;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -45,8 +50,6 @@ import java.util.concurrent.atomic.AtomicLong;
import java.util.logging.Logger;
import java.util.stream.Collectors;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
import javax.management.ListenerNotFoundException;
import javax.management.MBeanNotificationInfo;
import javax.management.Notification;
@@ -63,9 +66,6 @@ import javax.management.openmbean.SimpleType;
import javax.management.openmbean.TabularData;
import javax.management.openmbean.TabularDataSupport;
import javax.management.openmbean.TabularType;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
import org.apache.cassandra.metrics.StorageMetrics;
import org.apache.cassandra.repair.RepairParallelism;
@@ -73,7 +73,7 @@ import org.apache.cassandra.repair.RepairParallelism;
import com.google.common.base.Joiner;
import com.scylladb.jmx.api.APIClient;
import com.scylladb.jmx.metrics.MetricsMBean;
-import com.scylladb.jmx.utils.FileUtils;
+import com.scylladb.jmx.api.utils.FileUtils;
import com.google.common.base.Throwables;
/**
diff --git a/src/main/java/org/apache/cassandra/service/StorageServiceMBean.java b/src/main/java/org/apache/cassandra/service/StorageServiceMBean.java
index 915bfd1..22fb2b7 100644
--- a/src/main/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/main/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -34,7 +34,6 @@ import java.util.Map;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;
-import javax.json.JsonObject;
import javax.management.NotificationEmitter;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
diff --git a/src/main/java/org/apache/cassandra/streaming/ProgressInfo.java b/src/main/java/org/apache/cassandra/streaming/ProgressInfo.java
index cdb52ea..756cc1f 100644
--- a/src/main/java/org/apache/cassandra/streaming/ProgressInfo.java
+++ b/src/main/java/org/apache/cassandra/streaming/ProgressInfo.java
@@ -24,15 +24,14 @@
package org.apache.cassandra.streaming;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
import java.io.Serializable;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-
import com.google.common.base.Objects;
/**
diff --git a/src/main/java/org/apache/cassandra/streaming/SessionInfo.java b/src/main/java/org/apache/cassandra/streaming/SessionInfo.java
index 9222b3d..c400f02 100644
--- a/src/main/java/org/apache/cassandra/streaming/SessionInfo.java
+++ b/src/main/java/org/apache/cassandra/streaming/SessionInfo.java
@@ -24,6 +24,8 @@
package org.apache.cassandra.streaming;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
import java.io.Serializable;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -32,9 +34,6 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-
import com.google.common.collect.Iterables;
/**
diff --git a/src/main/java/org/apache/cassandra/streaming/StreamManager.java b/src/main/java/org/apache/cassandra/streaming/StreamManager.java
index 7d45034..0c309f6 100644
--- a/src/main/java/org/apache/cassandra/streaming/StreamManager.java
+++ b/src/main/java/org/apache/cassandra/streaming/StreamManager.java
@@ -24,12 +24,12 @@
package org.apache.cassandra.streaming;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
import java.util.HashSet;
import java.util.Set;
import java.util.logging.Logger;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
import javax.management.ListenerNotFoundException;
import javax.management.MBeanNotificationInfo;
import javax.management.NotificationBroadcasterSupport;
diff --git a/src/main/java/org/apache/cassandra/streaming/StreamSummary.java b/src/main/java/org/apache/cassandra/streaming/StreamSummary.java
index 2e90810..8e37c74 100644
--- a/src/main/java/org/apache/cassandra/streaming/StreamSummary.java
+++ b/src/main/java/org/apache/cassandra/streaming/StreamSummary.java
@@ -24,13 +24,12 @@
package org.apache.cassandra.streaming;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
import java.util.ArrayList;
import java.util.Collection;
import java.util.UUID;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-
import com.google.common.base.Objects;
/**