diff --git a/pom.xml b/pom.xml
index 8887800fc3..26bd465ab4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data
spring-data-mongodb-parent
- 4.5.0-SNAPSHOT
+ 4.5.0-GH-4927-SNAPSHOT
pom
Spring Data MongoDB
diff --git a/spring-data-mongodb-distribution/pom.xml b/spring-data-mongodb-distribution/pom.xml
index 58c63dfc97..1ed8e4c826 100644
--- a/spring-data-mongodb-distribution/pom.xml
+++ b/spring-data-mongodb-distribution/pom.xml
@@ -15,7 +15,7 @@
org.springframework.data
spring-data-mongodb-parent
- 4.5.0-SNAPSHOT
+ 4.5.0-GH-4927-SNAPSHOT
../pom.xml
diff --git a/spring-data-mongodb/pom.xml b/spring-data-mongodb/pom.xml
index 37e68c6f78..c33e329c21 100644
--- a/spring-data-mongodb/pom.xml
+++ b/spring-data-mongodb/pom.xml
@@ -13,7 +13,7 @@
org.springframework.data
spring-data-mongodb-parent
- 4.5.0-SNAPSHOT
+ 4.5.0-GH-4927-SNAPSHOT
../pom.xml
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 07e9aace0c..af1ffbbb02 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 @@
* @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 a5c380f680..5fcc6c9599 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 @@
* @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 539c6fdca9..ec03302f7e 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 @@
* @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 9572f53702..5ffe37a4a7 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 @@
* @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 ec8186e30e..15666fa4d0 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 @@
* 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 67fa8f6562..2ceb75a4f8 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 @@
* 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 03924d88a0..671d017e05 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 @@
* 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 beb3932ea4..0d0eb84b35 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 @@
* 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 096c67b1a0..6997f5fba8 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 @@
* 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 75daa3de55..4dbdebb26f 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 @@
* 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 35281753e6..1624501490 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 @@
* 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 bddf62d028..3aedf3f29f 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 @@
* @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 0d495584a9..1e1c221b64 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 cb8a8dcf45..004bda1544 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 @@
*
* @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 19b01a0234..8b98bcebd2 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]]