diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoJmxParser.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoJmxParser.java index 07e9aace0..af1ffbbb0 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoJmxParser.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/config/MongoJmxParser.java @@ -32,7 +32,9 @@ import org.w3c.dom.Element; * @author John Brisbin * @author Oliver Gierke * @author Christoph Strobl + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) public class MongoJmxParser implements BeanDefinitionParser { public BeanDefinition parse(Element element, ParserContext parserContext) { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdmin.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdmin.java index a5c380f68..5fcc6c959 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdmin.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdmin.java @@ -30,7 +30,9 @@ import com.mongodb.client.MongoDatabase; * @author Thomas Darimont * @author Mark Paluch * @author Christoph Strobl + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) @ManagedResource(description = "Mongo Admin Operations") public class MongoAdmin implements MongoAdminOperations { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdminOperations.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdminOperations.java index 539c6fdca..ec03302f7 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdminOperations.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoAdminOperations.java @@ -21,6 +21,7 @@ import org.springframework.jmx.export.annotation.ManagedOperation; * @author Mark Pollack * @author Oliver Gierke */ +@Deprecated(since = "4.5", forRemoval = true) public interface MongoAdminOperations { @ManagedOperation diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/AbstractMonitor.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/AbstractMonitor.java index 9572f5370..5ffe37a4a 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/AbstractMonitor.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/AbstractMonitor.java @@ -31,7 +31,9 @@ import com.mongodb.connection.ServerDescription; * @author Mark Pollack * @author Oliver Gierke * @author Christoph Strobl + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) public abstract class AbstractMonitor { private final MongoClient mongoClient; diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/AssertMetrics.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/AssertMetrics.java index ec8186e30..15666fa4d 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/AssertMetrics.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/AssertMetrics.java @@ -26,7 +26,9 @@ import com.mongodb.client.MongoClient; * JMX Metrics for assertions * * @author Mark Pollack + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) @ManagedResource(description = "Assertion Metrics") public class AssertMetrics extends AbstractMonitor { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/BackgroundFlushingMetrics.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/BackgroundFlushingMetrics.java index 67fa8f656..2ceb75a4f 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/BackgroundFlushingMetrics.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/BackgroundFlushingMetrics.java @@ -28,7 +28,9 @@ import com.mongodb.client.MongoClient; * JMX Metrics for Background Flushing * * @author Mark Pollack + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) @ManagedResource(description = "Background Flushing Metrics") public class BackgroundFlushingMetrics extends AbstractMonitor { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/BtreeIndexCounters.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/BtreeIndexCounters.java index 03924d88a..671d017e0 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/BtreeIndexCounters.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/BtreeIndexCounters.java @@ -26,7 +26,9 @@ import com.mongodb.client.MongoClient; * JMX Metrics for B-tree index counters * * @author Mark Pollack + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) @ManagedResource(description = "Btree Metrics") public class BtreeIndexCounters extends AbstractMonitor { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/ConnectionMetrics.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/ConnectionMetrics.java index beb3932ea..0d0eb84b3 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/ConnectionMetrics.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/ConnectionMetrics.java @@ -26,7 +26,9 @@ import com.mongodb.client.MongoClient; * JMX Metrics for Connections * * @author Mark Pollack + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) @ManagedResource(description = "Connection metrics") public class ConnectionMetrics extends AbstractMonitor { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/GlobalLockMetrics.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/GlobalLockMetrics.java index 096c67b1a..6997f5fba 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/GlobalLockMetrics.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/GlobalLockMetrics.java @@ -27,7 +27,9 @@ import com.mongodb.client.MongoClient; * JMX Metrics for Global Locks * * @author Mark Pollack + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) @ManagedResource(description = "Global Lock Metrics") public class GlobalLockMetrics extends AbstractMonitor { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/MemoryMetrics.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/MemoryMetrics.java index 75daa3de5..4dbdebb26 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/MemoryMetrics.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/MemoryMetrics.java @@ -26,7 +26,9 @@ import com.mongodb.client.MongoClient; * JMX Metrics for Memory * * @author Mark Pollack + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) @ManagedResource(description = "Memory Metrics") public class MemoryMetrics extends AbstractMonitor { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/OperationCounters.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/OperationCounters.java index 35281753e..162450149 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/OperationCounters.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/OperationCounters.java @@ -27,7 +27,9 @@ import com.mongodb.client.MongoClient; * JMX Metrics for Operation counters * * @author Mark Pollack + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) @ManagedResource(description = "Operation Counters") public class OperationCounters extends AbstractMonitor { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/ServerInfo.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/ServerInfo.java index bddf62d02..3aedf3f29 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/ServerInfo.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/ServerInfo.java @@ -31,7 +31,9 @@ import com.mongodb.client.MongoClient; * @author Mark Pollack * @author Thomas Darimont * @author Christoph Strobl + * @deprecated since 4.5 */ +@Deprecated(since = "4.5", forRemoval = true) @ManagedResource(description = "Server Information") public class ServerInfo extends AbstractMonitor { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/package-info.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/package-info.java index 0d495584a..1e1c221b6 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/package-info.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/monitor/package-info.java @@ -1,6 +1,7 @@ /** * MongoDB specific JMX monitoring support. */ +@Deprecated(since = "4.5", forRemoval = true) @org.springframework.lang.NonNullApi package org.springframework.data.mongodb.monitor; diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/JmxServer.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/JmxServer.java index cb8a8dcf4..004bda154 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/JmxServer.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/JmxServer.java @@ -22,7 +22,9 @@ import org.springframework.context.support.ClassPathXmlApplicationContext; * * @author Mark Pollack * @author Oliver Gierke + * @deprecated since 4.5. */ +@Deprecated(since = "4.5", forRemoval = true) public class JmxServer { public static void main(String[] args) { diff --git a/src/main/antora/modules/ROOT/pages/mongodb/jmx.adoc b/src/main/antora/modules/ROOT/pages/mongodb/jmx.adoc index 19b01a023..8b98bcebd 100644 --- a/src/main/antora/modules/ROOT/pages/mongodb/jmx.adoc +++ b/src/main/antora/modules/ROOT/pages/mongodb/jmx.adoc @@ -1,6 +1,12 @@ [[mongo.jmx]] = JMX support +[NOTE] +==== +JMX support has been deprecated in 4.5 and will be removed in 5.0. + +We recommend switching to Spring Boot https://docs.spring.io/spring-boot/reference/actuator/endpoints.html[Actuator Endpoints] and expose those over JMX if needed. +==== + The JMX support for MongoDB exposes the results of running the 'serverStatus' command on the admin database for a single MongoDB server instance. It also exposes an administrative MBean, `MongoAdmin`, that lets you perform administrative operations, such as dropping or creating a database. The JMX features build upon the JMX feature set available in the Spring Framework. See link:{springDocsUrl}/integration.html#jmx[here] for more details. [[mongodb:jmx-configuration]]