You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ni...@apache.org on 2020/03/02 05:24:03 UTC

[ignite] branch master updated: IGNITE-12723: getMXBean for tests introduced. (#7479)

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

nizhikov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 8a3c456  IGNITE-12723: getMXBean for tests introduced. (#7479)
8a3c456 is described below

commit 8a3c4569ae4df6b34b90fcbad75d8297b2c7286c
Author: Nikolay <ni...@apache.org>
AuthorDate: Mon Mar 2 08:23:42 2020 +0300

    IGNITE-12723: getMXBean for tests introduced. (#7479)
---
 .../JdbcThinConnectionMultipleAddressesTest.java   | 24 ++-----------
 .../org/apache/ignite/client/FunctionalTest.java   | 10 ++----
 .../org/apache/ignite/client/ReliabilityTest.java  | 11 ++----
 .../failure/FailureHandlingConfigurationTest.java  | 15 ++------
 .../ClusterBaselineNodesMetricsSelfTest.java       | 22 ++----------
 .../ignite/internal/TransactionMetricsTest.java    | 26 ++------------
 .../internal/TransactionsMXBeanImplTest.java       | 20 ++---------
 ...ientPartitionAwarenessUnstableTopologyTest.java | 11 ++----
 .../internal/encryption/EncryptionMXBeanTest.java  | 14 ++------
 .../ignite/internal/metric/JmxExporterSpiTest.java | 25 +++----------
 .../internal/metric/MetricsConfigurationTest.java  | 21 +----------
 .../processors/cache/CacheGroupMetricsTest.java    | 18 ++--------
 .../processors/cache/CacheMetricsManageTest.java   | 20 ++---------
 ...CacheLongRunningTransactionDiagnosticsTest.java | 12 ++-----
 .../GridTransactionsSystemUserTimeMetricsTest.java | 18 +++++-----
 .../SetTxTimeoutOnPartitionMapExchangeTest.java    | 19 ++--------
 .../PageLockTrackerMXBeanImplTest.java             | 28 ++-------------
 ...nsactionIntegrityWithSystemWorkerDeathTest.java | 26 ++------------
 .../cluster/BaselineAutoAdjustMXBeanTest.java      | 24 ++-----------
 .../tcp/TcpCommunicationStatisticsTest.java        | 22 ++----------
 .../discovery/tcp/TcpDiscoverySpiMBeanTest.java    | 23 +++---------
 .../testframework/junits/GridAbstractTest.java     | 42 +++++++++++++++++++---
 .../junits/common/GridCommonAbstractTest.java      | 31 ----------------
 .../ZookeeperDiscoveryClientDisconnectTest.java    | 14 ++------
 .../zk/internal/ZookeeperDiscoveryMiscTest.java    | 13 ++-----
 25 files changed, 100 insertions(+), 409 deletions(-)

diff --git a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionMultipleAddressesTest.java b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionMultipleAddressesTest.java
index 35ee81a..afd07e9 100644
--- a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionMultipleAddressesTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinConnectionMultipleAddressesTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.jdbc.thin;
 
-import java.lang.management.ManagementFactory;
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.DriverManager;
@@ -27,10 +26,6 @@ import java.sql.Statement;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Callable;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.ClientConnectorConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
@@ -38,7 +33,6 @@ import org.apache.ignite.internal.binary.BinaryMarshaller;
 import org.apache.ignite.internal.jdbc.thin.JdbcThinConnection;
 import org.apache.ignite.internal.processors.odbc.ClientListenerProcessor;
 import org.apache.ignite.internal.util.lang.GridAbsPredicate;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.mxbean.ClientProcessorMXBean;
 import org.apache.ignite.testframework.GridTestUtils;
 import org.jetbrains.annotations.NotNull;
@@ -328,22 +322,8 @@ public class JdbcThinConnectionMultipleAddressesTest extends JdbcThinAbstractSel
      * @return MBean.
      */
     private ClientProcessorMXBean clientProcessorBean(int igniteInt) {
-        ObjectName mbeanName = null;
-
-        try {
-            mbeanName = U.makeMBeanName(getTestIgniteInstanceName(igniteInt), "Clients",
-                ClientListenerProcessor.class.getSimpleName());
-        }
-        catch (MalformedObjectNameException e) {
-            fail("Failed to register MBean.");
-        }
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (!mbeanSrv.isRegistered(mbeanName))
-            fail("MBean is not registered: " + mbeanName.getCanonicalName());
-
-        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, ClientProcessorMXBean.class, true);
+        return getMxBean(getTestIgniteInstanceName(igniteInt), "Clients",
+            ClientListenerProcessor.class, ClientProcessorMXBean.class);
     }
 
     /**
diff --git a/modules/core/src/test/java/org/apache/ignite/client/FunctionalTest.java b/modules/core/src/test/java/org/apache/ignite/client/FunctionalTest.java
index c369c27..ee6ac49 100644
--- a/modules/core/src/test/java/org/apache/ignite/client/FunctionalTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/client/FunctionalTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.client;
 
-import java.lang.management.ManagementFactory;
 import java.util.AbstractMap.SimpleEntry;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -42,8 +41,6 @@ import javax.cache.expiry.AccessedExpiryPolicy;
 import javax.cache.expiry.CreatedExpiryPolicy;
 import javax.cache.expiry.Duration;
 import javax.cache.expiry.ModifiedExpiryPolicy;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.Ignition;
@@ -71,6 +68,7 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.Timeout;
 
+import static org.apache.ignite.testframework.junits.GridAbstractTest.getMxBean;
 import static org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC;
 import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC;
 import static org.apache.ignite.transactions.TransactionIsolation.READ_COMMITTED;
@@ -683,10 +681,8 @@ public class FunctionalTest {
             cache.put(1, "value5");
 
             // Test failover.
-            ObjectName mbeanName = U.makeMBeanName(ignite.name(), "Clients", ClientListenerProcessor.class.getSimpleName());
-
-            ClientProcessorMXBean mxBean = MBeanServerInvocationHandler.newProxyInstance(
-                ManagementFactory.getPlatformMBeanServer(), mbeanName, ClientProcessorMXBean.class, true);
+            ClientProcessorMXBean mxBean = getMxBean(ignite.name(), "Clients",
+                ClientListenerProcessor.class, ClientProcessorMXBean.class);
 
             try (ClientTransaction tx = client.transactions().txStart()) {
                 cache.put(1, "value6");
diff --git a/modules/core/src/test/java/org/apache/ignite/client/ReliabilityTest.java b/modules/core/src/test/java/org/apache/ignite/client/ReliabilityTest.java
index a746c3d..8e0a74c 100644
--- a/modules/core/src/test/java/org/apache/ignite/client/ReliabilityTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/client/ReliabilityTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.client;
 
-import java.lang.management.ManagementFactory;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -31,8 +30,6 @@ import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 import java.util.stream.Stream;
 import javax.cache.Cache;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.Ignition;
 import org.apache.ignite.cache.CacheAtomicityMode;
@@ -42,7 +39,6 @@ import org.apache.ignite.cache.query.QueryCursor;
 import org.apache.ignite.cache.query.ScanQuery;
 import org.apache.ignite.configuration.ClientConfiguration;
 import org.apache.ignite.internal.processors.odbc.ClientListenerProcessor;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.mxbean.ClientProcessorMXBean;
 import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
@@ -313,11 +309,8 @@ public class ReliabilityTest extends GridCommonAbstractTest {
      * @param ignite Ignite.
      */
     private void dropAllThinClientConnections(Ignite ignite) throws Exception {
-        ObjectName mbeanName = U.makeMBeanName(ignite.name(), "Clients",
-            ClientListenerProcessor.class.getSimpleName());
-
-        ClientProcessorMXBean mxBean = MBeanServerInvocationHandler.newProxyInstance(
-            ManagementFactory.getPlatformMBeanServer(), mbeanName, ClientProcessorMXBean.class, true);
+        ClientProcessorMXBean mxBean = getMxBean(ignite.name(), "Clients",
+            ClientListenerProcessor.class, ClientProcessorMXBean.class);
 
         mxBean.dropAllConnections();
     }
diff --git a/modules/core/src/test/java/org/apache/ignite/failure/FailureHandlingConfigurationTest.java b/modules/core/src/test/java/org/apache/ignite/failure/FailureHandlingConfigurationTest.java
index ca4391d..e7e4dfe 100644
--- a/modules/core/src/test/java/org/apache/ignite/failure/FailureHandlingConfigurationTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/failure/FailureHandlingConfigurationTest.java
@@ -17,18 +17,13 @@
 
 package org.apache.ignite.failure;
 
-import java.lang.management.ManagementFactory;
 import java.util.concurrent.CountDownLatch;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.DataRegionConfiguration;
 import org.apache.ignite.configuration.DataStorageConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.IgniteEx;
 import org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.internal.worker.FailureHandlingMxBeanImpl;
 import org.apache.ignite.internal.worker.WorkersRegistry;
 import org.apache.ignite.mxbean.FailureHandlingMxBean;
@@ -240,13 +235,7 @@ public class FailureHandlingConfigurationTest extends GridCommonAbstractTest {
 
     /** */
     private FailureHandlingMxBean getMBean() throws Exception {
-        ObjectName name = U.makeMBeanName(getTestIgniteInstanceName(0), "Kernal",
-            FailureHandlingMxBeanImpl.class.getSimpleName());
-
-        MBeanServer srv = ManagementFactory.getPlatformMBeanServer();
-
-        assertTrue(srv.isRegistered(name));
-
-        return MBeanServerInvocationHandler.newProxyInstance(srv, name, FailureHandlingMxBean.class, true);
+        return getMxBean(getTestIgniteInstanceName(0), "Kernal",
+            FailureHandlingMxBeanImpl.class, FailureHandlingMxBean.class);
     }
 }
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/ClusterBaselineNodesMetricsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/ClusterBaselineNodesMetricsSelfTest.java
index 338ff80..9812472 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/ClusterBaselineNodesMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/ClusterBaselineNodesMetricsSelfTest.java
@@ -17,18 +17,12 @@
 
 package org.apache.ignite.internal;
 
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-import java.lang.management.ManagementFactory;
 import java.util.Collection;
 import org.apache.ignite.cluster.BaselineNode;
 import org.apache.ignite.configuration.DataRegionConfiguration;
 import org.apache.ignite.configuration.DataStorageConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.configuration.WALMode;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.mxbean.ClusterMetricsMXBean;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.apache.ignite.testframework.junits.common.GridCommonTest;
@@ -152,19 +146,7 @@ public class ClusterBaselineNodesMetricsSelfTest extends GridCommonAbstractTest
      * @param clazz Class of ClusterMetricsMXBean implementation.
      * @return MBean instance.
      */
-    private ClusterMetricsMXBean mxBean(int nodeIdx, Class<? extends ClusterMetricsMXBean> clazz)
-        throws MalformedObjectNameException {
-
-        ObjectName mbeanName = U.makeMBeanName(
-            getTestIgniteInstanceName(nodeIdx),
-            "Kernal",
-            clazz.getSimpleName());
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (!mbeanSrv.isRegistered(mbeanName))
-            fail("MBean is not registered: " + mbeanName.getCanonicalName());
-
-        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, ClusterMetricsMXBean.class, true);
+    private ClusterMetricsMXBean mxBean(int nodeIdx, Class<? extends ClusterMetricsMXBean> clazz) {
+        return getMxBean(getTestIgniteInstanceName(nodeIdx), "Kernal", clazz, ClusterMetricsMXBean.class);
     }
 }
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/TransactionMetricsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/TransactionMetricsTest.java
index 5b6090d..d53c5a0 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/TransactionMetricsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/TransactionMetricsTest.java
@@ -17,13 +17,9 @@
 
 package org.apache.ignite.internal;
 
-import java.lang.management.ManagementFactory;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.cache.CacheRebalanceMode;
@@ -32,7 +28,6 @@ import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.processors.metric.MetricRegistry;
 import org.apache.ignite.internal.processors.metric.impl.ObjectGauge;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.mxbean.TransactionMetricsMxBean;
 import org.apache.ignite.spi.metric.IntMetric;
 import org.apache.ignite.spi.metric.LongMetric;
@@ -105,7 +100,8 @@ public class TransactionMetricsTest extends GridCommonAbstractTest {
 
         awaitPartitionMapExchange();
 
-        TransactionMetricsMxBean txMXBean = txMetricsMXBean(0);
+        TransactionMetricsMxBean txMXBean = getMxBean(getTestIgniteInstanceName(0), "TransactionMetrics",
+            TransactionMetricsMxBeanImpl.class, TransactionMetricsMxBean.class);
 
         MetricRegistry mreg = grid(0).context().metric().registry(TX_METRICS);
 
@@ -297,22 +293,4 @@ public class TransactionMetricsTest extends GridCommonAbstractTest {
             }
         }
     }
-
-    /**
-     *
-     */
-    private TransactionMetricsMxBean txMetricsMXBean(int igniteInt) throws Exception {
-        ObjectName mbeanName = U.makeMBeanName(
-            getTestIgniteInstanceName(igniteInt),
-            "TransactionMetrics",
-            TransactionMetricsMxBeanImpl.class.getSimpleName()
-        );
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (!mbeanSrv.isRegistered(mbeanName))
-            fail("MBean is not registered: " + mbeanName.getCanonicalName());
-
-        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, TransactionMetricsMxBean.class, true);
-    }
 }
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/TransactionsMXBeanImplTest.java b/modules/core/src/test/java/org/apache/ignite/internal/TransactionsMXBeanImplTest.java
index 9c2fa4d..0a340c1 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/TransactionsMXBeanImplTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/TransactionsMXBeanImplTest.java
@@ -17,19 +17,14 @@
 
 package org.apache.ignite.internal;
 
-import java.lang.management.ManagementFactory;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.function.Predicate;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
 import org.apache.ignite.cache.CacheRebalanceMode;
 import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.processors.cache.transactions.TransactionProxyImpl;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.mxbean.TransactionsMXBean;
 import org.apache.ignite.testframework.ListeningTestLogger;
 import org.apache.ignite.testframework.LogListener;
@@ -300,18 +295,9 @@ public class TransactionsMXBeanImplTest extends GridCommonAbstractTest {
             assertFalse(waitForCondition(() -> lrtLogLsnr.check() && txLogLsnr.check(), waitTimeTx));
     }
 
-    /**
-     *
-     */
+    /** */
     private TransactionsMXBean txMXBean(int igniteInt) throws Exception {
-        ObjectName mbeanName = U.makeMBeanName(getTestIgniteInstanceName(igniteInt), "Transactions",
-            TransactionsMXBeanImpl.class.getSimpleName());
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (!mbeanSrv.isRegistered(mbeanName))
-            fail("MBean is not registered: " + mbeanName.getCanonicalName());
-
-        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, TransactionsMXBean.class, true);
+        return getMxBean(getTestIgniteInstanceName(igniteInt), "Transactions",
+            TransactionsMXBeanImpl.class, TransactionsMXBean.class);
     }
 }
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/client/thin/ThinClientPartitionAwarenessUnstableTopologyTest.java b/modules/core/src/test/java/org/apache/ignite/internal/client/thin/ThinClientPartitionAwarenessUnstableTopologyTest.java
index bcb7c37..16f8672 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/client/thin/ThinClientPartitionAwarenessUnstableTopologyTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/client/thin/ThinClientPartitionAwarenessUnstableTopologyTest.java
@@ -17,13 +17,9 @@
 
 package org.apache.ignite.internal.client.thin;
 
-import java.lang.management.ManagementFactory;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
 import org.apache.ignite.client.ClientCache;
 import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
 import org.apache.ignite.internal.processors.odbc.ClientListenerProcessor;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.mxbean.ClientProcessorMXBean;
 import org.junit.Test;
 
@@ -126,11 +122,8 @@ public class ThinClientPartitionAwarenessUnstableTopologyTest extends ThinClient
         int disconnectNodeIdx = dfltCh == channels[0] ? 1 : 0;
 
         // Drop all thin connections from the node.
-        ObjectName mbeanName = U.makeMBeanName(grid(disconnectNodeIdx).name(), "Clients",
-            ClientListenerProcessor.class.getSimpleName());
-
-        MBeanServerInvocationHandler.newProxyInstance(ManagementFactory.getPlatformMBeanServer(), mbeanName,
-            ClientProcessorMXBean.class, true).dropAllConnections();
+        getMxBean(grid(disconnectNodeIdx).name(), "Clients",
+            ClientListenerProcessor.class, ClientProcessorMXBean.class).dropAllConnections();
 
         channels[disconnectNodeIdx] = null;
 
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/encryption/EncryptionMXBeanTest.java b/modules/core/src/test/java/org/apache/ignite/internal/encryption/EncryptionMXBeanTest.java
index 07c5d38..ab5bf52 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/encryption/EncryptionMXBeanTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/encryption/EncryptionMXBeanTest.java
@@ -17,14 +17,9 @@
 
 package org.apache.ignite.internal.encryption;
 
-import java.lang.management.ManagementFactory;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.internal.IgniteEx;
 import org.apache.ignite.internal.managers.encryption.EncryptionMXBeanImpl;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.mxbean.EncryptionMXBean;
 import org.junit.Test;
 
@@ -132,12 +127,7 @@ public class EncryptionMXBeanTest extends AbstractEncryptionTest {
      * @return Encryption MBean.
      */
     private EncryptionMXBean getMBean(String igniteInstanceName) throws Exception {
-        ObjectName name = U.makeMBeanName(igniteInstanceName, "Encryption", EncryptionMXBeanImpl.class.getSimpleName());
-
-        MBeanServer srv = ManagementFactory.getPlatformMBeanServer();
-
-        assertTrue(srv.isRegistered(name));
-
-        return MBeanServerInvocationHandler.newProxyInstance(srv, name, EncryptionMXBean.class, true);
+        return getMxBean(igniteInstanceName, "Encryption", EncryptionMXBeanImpl.class,
+            EncryptionMXBean.class);
     }
 }
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java b/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java
index a54912e..c968315 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/metric/JmxExporterSpiTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.internal.metric;
 
-import java.lang.management.ManagementFactory;
 import java.sql.Connection;
 import java.text.DateFormat;
 import java.time.LocalTime;
@@ -41,10 +40,6 @@ import javax.management.MBeanAttributeInfo;
 import javax.management.MBeanFeatureInfo;
 import javax.management.MBeanOperationInfo;
 import javax.management.MBeanParameterInfo;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.TabularDataSupport;
 import org.apache.ignite.IgniteCache;
@@ -221,13 +216,13 @@ public class JmxExporterSpiTest extends AbstractExporterSpiTest {
 
         IgniteCache c = ignite.createCache(n);
 
-        DynamicMBean cacheBean = mbean(ignite, CACHE_METRICS, n);
+        DynamicMBean cacheBean = metricRegistry(ignite.name(), CACHE_METRICS, n);
 
         assertNotNull(cacheBean);
 
         ignite.destroyCache(n);
 
-        assertThrowsWithCause(() -> mbean(ignite, CACHE_METRICS, n), IgniteException.class);
+        assertThrowsWithCause(() -> metricRegistry(ignite.name(), CACHE_METRICS, n), IgniteException.class);
     }
 
     /** */
@@ -461,7 +456,7 @@ public class JmxExporterSpiTest extends AbstractExporterSpiTest {
     /** */
     public TabularDataSupport systemView(IgniteEx g, String name) {
         try {
-            DynamicMBean caches = mbean(g, VIEWS, name);
+            DynamicMBean caches = metricRegistry(g.name(), VIEWS, name);
 
             MBeanAttributeInfo[] attrs = caches.getMBeanInfo().getAttributes();
 
@@ -477,7 +472,7 @@ public class JmxExporterSpiTest extends AbstractExporterSpiTest {
     /** */
     public TabularDataSupport filteredSystemView(IgniteEx g, String name, Map<String, Object> filter) {
         try {
-            DynamicMBean mbean = mbean(g, VIEWS, name);
+            DynamicMBean mbean = metricRegistry(g.name(), VIEWS, name);
 
             MBeanOperationInfo[] opers = mbean.getMBeanInfo().getOperations();
 
@@ -503,18 +498,6 @@ public class JmxExporterSpiTest extends AbstractExporterSpiTest {
     }
 
     /** */
-    public static DynamicMBean mbean(IgniteEx g, String grp, String name) throws MalformedObjectNameException {
-        ObjectName mbeanName = U.makeMBeanName(g.name(), grp, name);
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (!mbeanSrv.isRegistered(mbeanName))
-            throw new IgniteException("MBean not registered.");
-
-        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, DynamicMBean.class, false);
-    }
-
-    /** */
     @Test
     public void testHistogramSearchByName() throws Exception {
         MetricRegistry mreg = new MetricRegistry("test", name -> null, name -> null, null);
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/metric/MetricsConfigurationTest.java b/modules/core/src/test/java/org/apache/ignite/internal/metric/MetricsConfigurationTest.java
index e2e3fdc..515605b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/metric/MetricsConfigurationTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/metric/MetricsConfigurationTest.java
@@ -17,12 +17,6 @@
 
 package org.apache.ignite.internal.metric;
 
-import java.lang.management.ManagementFactory;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-import org.apache.ignite.IgniteException;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.DataStorageConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
@@ -31,7 +25,6 @@ import org.apache.ignite.internal.processors.metric.MetricRegistry;
 import org.apache.ignite.internal.processors.metric.MetricsMxBeanImpl;
 import org.apache.ignite.internal.processors.metric.impl.HistogramMetricImpl;
 import org.apache.ignite.internal.processors.metric.impl.HitRateMetric;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.mxbean.MetricsMxBean;
 import org.apache.ignite.spi.metric.HistogramMetric;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
@@ -340,19 +333,7 @@ public class MetricsConfigurationTest extends GridCommonAbstractTest {
 
     /** */
     public static MetricsMxBean metricsBean(IgniteEx g) {
-        try {
-            ObjectName mbeanName = U.makeMBeanName(g.name(), "Metrics", MetricsMxBeanImpl.class.getSimpleName());
-
-            MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-            if (!mbeanSrv.isRegistered(mbeanName))
-                throw new IgniteException("MBean not registered.");
-
-            return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, MetricsMxBean.class, false);
-        }
-        catch (MalformedObjectNameException e) {
-            throw new IgniteException(e);
-        }
+        return getMxBean(g.name(), "Metrics", MetricsMxBeanImpl.class, MetricsMxBean.class);
     }
 
     /** */
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGroupMetricsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGroupMetricsTest.java
index eac1ab1..e403843 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGroupMetricsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGroupMetricsTest.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.internal.processors.cache;
 
 import java.io.Serializable;
-import java.lang.management.ManagementFactory;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
@@ -27,10 +26,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.CountDownLatch;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.IgniteDataStreamer;
 import org.apache.ignite.cache.CacheAtomicityMode;
@@ -51,7 +46,6 @@ import org.apache.ignite.internal.processors.metric.impl.AtomicLongMetric;
 import org.apache.ignite.internal.util.lang.GridAbsPredicate;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.T2;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.mxbean.CacheGroupMetricsMXBean;
 import org.apache.ignite.spi.metric.IntMetric;
@@ -200,17 +194,9 @@ public class CacheGroupMetricsTest extends GridCommonAbstractTest implements Ser
      * @param cacheOrGrpName Cache group name.
      * @return MBean instance and MetricRegistry for the specified group.
      */
-    protected T2<CacheGroupMetricsMXBean, MetricRegistry> cacheGroupMetrics(int nodeIdx, String cacheOrGrpName)
-        throws MalformedObjectNameException {
-        ObjectName mbeanName = U.makeMBeanName(getTestIgniteInstanceName(nodeIdx), "Cache groups", cacheOrGrpName);
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (!mbeanSrv.isRegistered(mbeanName))
-            fail("MBean is not registered: " + mbeanName.getCanonicalName());
-
+    protected T2<CacheGroupMetricsMXBean, MetricRegistry> cacheGroupMetrics(int nodeIdx, String cacheOrGrpName) {
         return new T2<>(
-            MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, CacheGroupMetricsMXBean.class, true),
+            getMxBean(getTestIgniteInstanceName(nodeIdx), "Cache groups", cacheOrGrpName, CacheGroupMetricsMXBean.class),
             grid(nodeIdx).context().metric().registry(metricName(CACHE_GROUP_METRICS_PREFIX, cacheOrGrpName))
         );
     }
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsManageTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsManageTest.java
index c18ccce..314f5db 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsManageTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsManageTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.internal.processors.cache;
 
-import java.lang.management.ManagementFactory;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -26,10 +25,6 @@ import java.util.concurrent.CyclicBarrier;
 import java.util.concurrent.atomic.AtomicInteger;
 import javax.cache.CacheManager;
 import javax.cache.Caching;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.IgniteCheckedException;
@@ -46,7 +41,6 @@ import org.apache.ignite.internal.IgniteInternalFuture;
 import org.apache.ignite.internal.IgniteInterruptedCheckedException;
 import org.apache.ignite.internal.util.lang.GridAbsPredicate;
 import org.apache.ignite.internal.util.typedef.G;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.mxbean.CacheMetricsMXBean;
 import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.MvccFeatureChecker;
@@ -477,18 +471,8 @@ public class CacheMetricsManageTest extends GridCommonAbstractTest {
      * @param cacheName Cache name.
      * @return MBean instance.
      */
-    private CacheMetricsMXBean mxBean(int nodeIdx, String cacheName, Class<? extends CacheMetricsMXBean> clazz)
-        throws MalformedObjectNameException {
-        ObjectName mbeanName = U.makeMBeanName(getTestIgniteInstanceName(nodeIdx), cacheName,
-            clazz.getName());
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (!mbeanSrv.isRegistered(mbeanName))
-            fail("MBean is not registered: " + mbeanName.getCanonicalName());
-
-        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, CacheMetricsMXBean.class,
-            true);
+    private CacheMetricsMXBean mxBean(int nodeIdx, String cacheName, Class<? extends CacheMetricsMXBean> clazz) {
+        return getMxBean(getTestIgniteInstanceName(nodeIdx), cacheName, clazz.getName(), CacheMetricsMXBean.class);
     }
 
     /** {@inheritDoc} */
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheLongRunningTransactionDiagnosticsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheLongRunningTransactionDiagnosticsTest.java
index 79c70f2..baae448 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheLongRunningTransactionDiagnosticsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheLongRunningTransactionDiagnosticsTest.java
@@ -190,15 +190,9 @@ public class GridCacheLongRunningTransactionDiagnosticsTest extends GridCommonAb
         assertEquals(shouldRcvThreadDumpReq, dumpLsnr.check());
     }
 
-    /**
-     *
-     */
+    /** */
     private TransactionsMXBean txMXBean(int igniteInt) throws Exception {
-        return getMxBean(
-            getTestIgniteInstanceName(igniteInt),
-            "Transactions",
-            TransactionsMXBean.class,
-            TransactionsMXBeanImpl.class
-        );
+        return getMxBean(getTestIgniteInstanceName(igniteInt), "Transactions",
+            TransactionsMXBeanImpl.class, TransactionsMXBean.class);
     }
 }
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridTransactionsSystemUserTimeMetricsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridTransactionsSystemUserTimeMetricsTest.java
index 8a15a93..e47d5db 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridTransactionsSystemUserTimeMetricsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridTransactionsSystemUserTimeMetricsTest.java
@@ -241,9 +241,8 @@ public class GridTransactionsSystemUserTimeMetricsTest extends GridCommonAbstrac
         TransactionsMXBean tmMxBean = getMxBean(
             CLIENT,
             "Transactions",
-            TransactionsMXBean.class,
-            TransactionsMXBeanImpl.class
-        );
+            TransactionsMXBeanImpl.class,
+            TransactionsMXBean.class);
 
         if (threshold != null)
             tmMxBean.setLongTransactionTimeDumpThreshold(threshold);
@@ -347,7 +346,8 @@ public class GridTransactionsSystemUserTimeMetricsTest extends GridCommonAbstrac
 
         long completionTime = System.currentTimeMillis();
 
-        ClientTxTestResult res = new ClientTxTestResult(startTime, completionTime, metricRegistry(CLIENT, null, TX_METRICS));
+        ClientTxTestResult res = new ClientTxTestResult(startTime, completionTime,
+            metricRegistry(CLIENT, null, TX_METRICS));
 
         return res;
     }
@@ -496,16 +496,14 @@ public class GridTransactionsSystemUserTimeMetricsTest extends GridCommonAbstrac
             TransactionsMXBean tmMxBean = getMxBean(
                 CLIENT,
                 "Transactions",
-                TransactionsMXBean.class,
-                TransactionsMXBeanImpl.class
-            );
+                TransactionsMXBeanImpl.class,
+                TransactionsMXBean.class);
 
             TransactionsMXBean tmMxBean2 = getMxBean(
                 CLIENT_2,
                 "Transactions",
-                TransactionsMXBean.class,
-                TransactionsMXBeanImpl.class
-            );
+                TransactionsMXBeanImpl.class,
+                TransactionsMXBean.class);
 
             int oldLimit = tmMxBean.getTransactionTimeDumpSamplesPerSecondLimit();
             long oldThreshold = tmMxBean.getLongTransactionTimeDumpThreshold();
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/SetTxTimeoutOnPartitionMapExchangeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/SetTxTimeoutOnPartitionMapExchangeTest.java
index 8a485e0..7c52248 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/SetTxTimeoutOnPartitionMapExchangeTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/SetTxTimeoutOnPartitionMapExchangeTest.java
@@ -17,14 +17,10 @@
 
 package org.apache.ignite.internal.processors.cache;
 
-import java.lang.management.ManagementFactory;
 import java.util.concurrent.Callable;
 import java.util.concurrent.CyclicBarrier;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.IgniteCheckedException;
@@ -274,19 +270,10 @@ public class SetTxTimeoutOnPartitionMapExchangeTest extends GridCommonAbstractTe
         U.sleep(5_000L);
     }
 
-    /**
-     *
-     */
+    /** */
     private TransactionsMXBean txMXBean(int igniteInt) throws Exception {
-        ObjectName mbeanName = U.makeMBeanName(getTestIgniteInstanceName(igniteInt), "Transactions",
-            TransactionsMXBeanImpl.class.getSimpleName());
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (!mbeanSrv.isRegistered(mbeanName))
-            fail("MBean is not registered: " + mbeanName.getCanonicalName());
-
-        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, TransactionsMXBean.class, true);
+        return getMxBean(getTestIgniteInstanceName(igniteInt), "Transactions",
+            TransactionsMXBeanImpl.class, TransactionsMXBean.class);
     }
 
     /**
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/diagnostic/pagelocktracker/PageLockTrackerMXBeanImplTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/diagnostic/pagelocktracker/PageLockTrackerMXBeanImplTest.java
index dbef6a3..0b26e91 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/diagnostic/pagelocktracker/PageLockTrackerMXBeanImplTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/diagnostic/pagelocktracker/PageLockTrackerMXBeanImplTest.java
@@ -17,18 +17,12 @@
 
 package org.apache.ignite.internal.processors.cache.persistence.diagnostic.pagelocktracker;
 
-import java.lang.management.ManagementFactory;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.internal.processors.cache.CacheDiagnosticManager;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.junit.Assert;
 import org.junit.Test;
 
-import static javax.management.MBeanServerInvocationHandler.newProxyInstance;
-
 /**
  * {@link PageLockTrackerMXBean} test.
  */
@@ -56,26 +50,10 @@ public class PageLockTrackerMXBeanImplTest extends GridCommonAbstractTest {
     public void testSimple() throws Exception {
         Ignite ig = startGrid();
 
-        PageLockTrackerMXBean pageLockTrackerMXBean = getPageLockTrackerMXBean(ig);
-
-        Assert.assertNotNull(pageLockTrackerMXBean);
-    }
-
-    /**
-     * @param ignite Ignite.
-     */
-    private PageLockTrackerMXBean getPageLockTrackerMXBean(Ignite ignite) throws Exception {
-        ObjectName mBeanName = U.makeMBeanName(
-            ignite.name(),
+        PageLockTrackerMXBean pageLockTrackerMXBean = getMxBean(ig.name(),
             CacheDiagnosticManager.MBEAN_GROUP,
-            PageLockTrackerMXBean.MBEAN_NAME
-        );
-
-        MBeanServer mBeanSrv = ManagementFactory.getPlatformMBeanServer();
+            PageLockTrackerMXBean.MBEAN_NAME, PageLockTrackerMXBean.class);
 
-        if (!mBeanSrv.isRegistered(mBeanName))
-            fail("MBean is not registered: " + mBeanName.getCanonicalName());
-
-        return newProxyInstance(mBeanSrv, mBeanName, PageLockTrackerMXBean.class, true);
+        Assert.assertNotNull(pageLockTrackerMXBean);
     }
 }
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TransactionIntegrityWithSystemWorkerDeathTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TransactionIntegrityWithSystemWorkerDeathTest.java
index 0b7de4a..a573f55 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TransactionIntegrityWithSystemWorkerDeathTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TransactionIntegrityWithSystemWorkerDeathTest.java
@@ -17,12 +17,7 @@
 
 package org.apache.ignite.internal.processors.cache.transactions;
 
-import java.lang.management.ManagementFactory;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
 import org.apache.ignite.IgniteIllegalStateException;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.internal.worker.WorkersControlMXBeanImpl;
 import org.apache.ignite.mxbean.WorkersControlMXBean;
 import org.apache.ignite.testframework.GridTestUtils;
@@ -51,7 +46,8 @@ public class TransactionIntegrityWithSystemWorkerDeathTest extends AbstractTrans
             /** {@inheritDoc}. */
             @Override public void afterFirstTransaction() throws Exception {
                 // Terminate disco-event-worker thread on one node.
-                WorkersControlMXBean bean = workersMXBean(failedNodeIdx);
+                WorkersControlMXBean bean = getMxBean(getTestIgniteInstanceName(failedNodeIdx), "Kernal",
+                    WorkersControlMXBeanImpl.class, WorkersControlMXBean.class);
 
                 bean.terminateWorker(
                     bean.getWorkerNames().stream()
@@ -85,22 +81,4 @@ public class TransactionIntegrityWithSystemWorkerDeathTest extends AbstractTrans
             }
         }, true);
     }
-
-    /**
-     * Configure workers mx bean.
-     */
-    private WorkersControlMXBean workersMXBean(int igniteInt) throws Exception {
-        ObjectName mbeanName = U.makeMBeanName(
-            getTestIgniteInstanceName(igniteInt),
-            "Kernal",
-            WorkersControlMXBeanImpl.class.getSimpleName()
-        );
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (!mbeanSrv.isRegistered(mbeanName))
-            fail("MBean is not registered: " + mbeanName.getCanonicalName());
-
-        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, WorkersControlMXBean.class, true);
-    }
 }
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cluster/BaselineAutoAdjustMXBeanTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cluster/BaselineAutoAdjustMXBeanTest.java
index 0a4ecbe..c170433 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cluster/BaselineAutoAdjustMXBeanTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cluster/BaselineAutoAdjustMXBeanTest.java
@@ -17,13 +17,8 @@
 
 package org.apache.ignite.internal.processors.cluster;
 
-import java.lang.management.ManagementFactory;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.ObjectName;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCluster;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.mxbean.BaselineAutoAdjustMXBean;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.junit.Test;
@@ -38,7 +33,8 @@ public class BaselineAutoAdjustMXBeanTest extends GridCommonAbstractTest {
         try {
             IgniteCluster cluster = ignite.cluster();
 
-            BaselineAutoAdjustMXBean bltMxBean = bltMxBean();
+            BaselineAutoAdjustMXBean bltMxBean = getMxBean(getTestIgniteInstanceName(), "Baseline",
+                BaselineAutoAdjustMXBeanImpl.class, BaselineAutoAdjustMXBean.class);
 
             assertTrue(cluster.isBaselineAutoAdjustEnabled());
             assertTrue(bltMxBean.isAutoAdjustmentEnabled());
@@ -76,20 +72,4 @@ public class BaselineAutoAdjustMXBeanTest extends GridCommonAbstractTest {
             stopGrid();
         }
     }
-
-    /**
-     *
-     */
-    private BaselineAutoAdjustMXBean bltMxBean() throws Exception {
-        ObjectName mBeanName = U.makeMBeanName(getTestIgniteInstanceName(), "Baseline",
-            BaselineAutoAdjustMXBeanImpl.class.getSimpleName());
-
-        MBeanServer mBeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        assertTrue(mBeanSrv.isRegistered(mBeanName));
-
-        Class<BaselineAutoAdjustMXBean> itfCls = BaselineAutoAdjustMXBean.class;
-
-        return MBeanServerInvocationHandler.newProxyInstance(mBeanSrv, mBeanName, itfCls, true);
-    }
 }
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationStatisticsTest.java b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationStatisticsTest.java
index 018e0d5..9a54271 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationStatisticsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationStatisticsTest.java
@@ -17,15 +17,10 @@
 
 package org.apache.ignite.spi.communication.tcp;
 
-import java.lang.management.ManagementFactory;
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.cluster.ClusterGroup;
 import org.apache.ignite.cluster.ClusterNode;
@@ -36,7 +31,6 @@ import org.apache.ignite.internal.managers.communication.GridIoPolicy;
 import org.apache.ignite.internal.processors.metric.MetricRegistry;
 import org.apache.ignite.internal.processors.metric.impl.LongAdderMetric;
 import org.apache.ignite.internal.processors.metric.impl.MetricUtils;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteCallable;
 import org.apache.ignite.lang.IgniteInClosure;
 import org.apache.ignite.lang.IgniteRunnable;
@@ -115,19 +109,9 @@ public class TcpCommunicationStatisticsTest extends GridCommonAbstractTest {
      * @param nodeIdx Node index.
      * @return MBean instance.
      */
-    private TcpCommunicationSpiMBean mbean(int nodeIdx) throws MalformedObjectNameException {
-        ObjectName mbeanName = U.makeMBeanName(getTestIgniteInstanceName(nodeIdx), "SPIs",
-            SynchronizedCommunicationSpi.class.getSimpleName());
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (mbeanSrv.isRegistered(mbeanName))
-            return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, TcpCommunicationSpiMBean.class,
-                true);
-        else
-            fail("MBean is not registered: " + mbeanName.getCanonicalName());
-
-        return null;
+    private TcpCommunicationSpiMBean mbean(int nodeIdx) {
+        return getMxBean(getTestIgniteInstanceName(nodeIdx), "SPIs",
+            SynchronizedCommunicationSpi.class, TcpCommunicationSpiMBean.class);
     }
 
     /**
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBeanTest.java b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBeanTest.java
index a163e48..1fa6e17 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBeanTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBeanTest.java
@@ -23,16 +23,11 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.events.Event;
 import org.apache.ignite.internal.IgniteEx;
 import org.apache.ignite.internal.util.typedef.G;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
 import org.apache.ignite.testframework.GridStringLogger;
 import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import javax.management.JMX;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import java.lang.management.ManagementFactory;
 import java.util.UUID;
 import java.util.concurrent.CountDownLatch;
 
@@ -72,16 +67,12 @@ public class TcpDiscoverySpiMBeanTest extends GridCommonAbstractTest {
     public void testMBean() throws Exception {
         startGrids(3);
 
-        MBeanServer srv = ManagementFactory.getPlatformMBeanServer();
-
         try {
             for (int i = 0; i < 3; i++) {
                 IgniteEx grid = grid(i);
 
-                ObjectName spiName = U.makeMBeanName(grid.context().igniteInstanceName(), "SPIs",
-                        TcpDiscoverySpi.class.getSimpleName());
-
-                TcpDiscoverySpiMBean bean = JMX.newMBeanProxy(srv, spiName, TcpDiscoverySpiMBean.class);
+                TcpDiscoverySpiMBean bean = getMxBean(grid.context().igniteInstanceName(), "SPIs",
+                    TcpDiscoverySpi.class, TcpDiscoverySpiMBean.class);
 
                 assertNotNull(bean);
                 assertEquals(grid.cluster().topologyVersion(), bean.getCurrentTopologyVersion());
@@ -105,18 +96,14 @@ public class TcpDiscoverySpiMBeanTest extends GridCommonAbstractTest {
         try {
             int srvCnt = 2;
 
-            IgniteEx grid0 = (IgniteEx)startGrids(srvCnt);
+            IgniteEx grid0 = startGrids(srvCnt);
 
             IgniteEx client;
 
             client = startClientGrid("client");
 
-            MBeanServer srv = ManagementFactory.getPlatformMBeanServer();
-
-            ObjectName spiName = U.makeMBeanName(grid0.context().igniteInstanceName(), "SPIs",
-                TcpDiscoverySpi.class.getSimpleName());
-
-            TcpDiscoverySpiMBean bean = JMX.newMBeanProxy(srv, spiName, TcpDiscoverySpiMBean.class);
+            TcpDiscoverySpiMBean bean = getMxBean(grid0.context().igniteInstanceName(), "SPIs",
+                TcpDiscoverySpi.class, TcpDiscoverySpiMBean.class);
 
             assertEquals(grid0.cluster().forServers().nodes().size(), srvCnt);
 
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index ed542f4..58a39c4 100755
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -2817,15 +2817,49 @@ public abstract class GridAbstractTest extends JUnitAssertAware {
     public DynamicMBean metricRegistry(
         String igniteInstanceName,
         String grp,
-        String metrics
-    ) throws MalformedObjectNameException {
-        ObjectName mbeanName = U.makeMBeanName(igniteInstanceName, grp, metrics);
+        String metrics) {
+        return getMxBean(igniteInstanceName, grp, metrics, DynamicMBean.class);
+    }
+
+    /**
+     * Return JMX bean.
+     *
+     * @param igniteInstanceName Ignite instance name.
+     * @param grp Name of the group.
+     * @param impl Implementation class.
+     * @param clazz Class of the mbean.
+     * @return MX bean.
+     * @throws Exception If failed.
+     */
+    public static <T, I> T getMxBean(String igniteInstanceName, String grp, Class<I> impl, Class<T> clazz) {
+        return getMxBean(igniteInstanceName, grp, impl.getSimpleName(), clazz);
+    }
+
+    /**
+     * Return JMX bean.
+     *
+     * @param igniteInstanceName Ignite instance name.
+     * @param grp Name of the group.
+     * @param name Name of the bean.
+     * @param clazz Class of the mbean.
+     * @return MX bean.
+     * @throws Exception If failed.
+     */
+    public static <T> T getMxBean(String igniteInstanceName, String grp, String name, Class<T> clazz) {
+        ObjectName mbeanName = null;
+
+        try {
+            mbeanName = U.makeMBeanName(igniteInstanceName, grp, name);
+        }
+        catch (MalformedObjectNameException e) {
+            fail("Failed to register MBean.");
+        }
 
         MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
 
         if (!mbeanSrv.isRegistered(mbeanName))
             throw new IgniteException("MBean not registered.");
 
-        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, DynamicMBean.class, false);
+        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, clazz, false);
     }
 }
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
index d86cfd4..b7663a7 100755
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.testframework.junits.common;
 
-import java.lang.management.ManagementFactory;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -41,9 +40,7 @@ import javax.cache.Cache;
 import javax.cache.CacheException;
 import javax.cache.integration.CompletionListener;
 import javax.management.MBeanServer;
-import javax.management.MBeanServerInvocationHandler;
 import javax.management.ObjectInstance;
-import javax.management.ObjectName;
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.HttpsURLConnection;
 import javax.net.ssl.SSLSession;
@@ -2353,34 +2350,6 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
     }
 
     /**
-     * Returns MX bean by specified group name and class.
-     *
-     * @param igniteInstanceName Ignite instance name.
-     * @param grp Name of the group.
-     * @param cls Bean class.
-     * @param implCls Bean implementation class.
-     * @param <T> Type parameter for bean class.
-     * @param <I> Type parameter for bean implementation class.
-     * @return MX bean.
-     * @throws Exception If failed.
-     */
-    protected <T, I> T getMxBean(
-        String igniteInstanceName,
-        String grp,
-        Class<T> cls,
-        Class<I> implCls
-    ) throws Exception {
-        ObjectName mbeanName = U.makeMBeanName(igniteInstanceName, grp, implCls.getSimpleName());
-
-        MBeanServer mbeanSrv = ManagementFactory.getPlatformMBeanServer();
-
-        if (!mbeanSrv.isRegistered(mbeanName))
-            fail("MBean is not registered: " + mbeanName.getCanonicalName());
-
-        return MBeanServerInvocationHandler.newProxyInstance(mbeanSrv, mbeanName, cls, true);
-    }
-
-    /**
      * Checks that return types of all registered ignite metrics methods are correct.
      * Also checks that all classes from {@code namesToCheck} are registered as mbeans.
      *
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryClientDisconnectTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryClientDisconnectTest.java
index 7a8e3fd..50b0370 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryClientDisconnectTest.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryClientDisconnectTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.spi.discovery.zk.internal;
 
-import java.lang.management.ManagementFactory;
 import java.util.ArrayList;
 import java.util.BitSet;
 import java.util.Collections;
@@ -25,9 +24,6 @@ import java.util.List;
 import java.util.concurrent.Callable;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicInteger;
-import javax.management.JMX;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCache;
 import org.apache.ignite.IgniteCheckedException;
@@ -92,14 +88,8 @@ public class ZookeeperDiscoveryClientDisconnectTest extends ZookeeperDiscoverySp
 
         assertEquals(1, srv1.cluster().forClients().nodes().size());
 
-        MBeanServer srv = ManagementFactory.getPlatformMBeanServer();
-
-        IgniteEx ignite = grid("server1-block");
-
-        ObjectName spiName = U.makeMBeanName(ignite.context().igniteInstanceName(), "SPIs",
-            ZookeeperDiscoverySpi.class.getSimpleName());
-
-        ZookeeperDiscoverySpiMBean bean = JMX.newMBeanProxy(srv, spiName, ZookeeperDiscoverySpiMBean.class);
+        ZookeeperDiscoverySpiMBean bean = getMxBean(srv1.name(), "SPIs",
+            ZookeeperDiscoverySpi.class, ZookeeperDiscoverySpiMBean.class);
 
         assertNotNull(bean);
 
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java
index 18493c9..07a1c40 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryMiscTest.java
@@ -18,7 +18,6 @@
 package org.apache.ignite.spi.discovery.zk.internal;
 
 import java.io.Serializable;
-import java.lang.management.ManagementFactory;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
@@ -26,9 +25,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.Callable;
-import javax.management.JMX;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
@@ -41,7 +37,6 @@ import org.apache.ignite.internal.processors.security.SecurityContext;
 import org.apache.ignite.internal.util.lang.gridfunc.PredicateMapView;
 import org.apache.ignite.internal.util.typedef.G;
 import org.apache.ignite.internal.util.typedef.X;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgniteOutClosure;
 import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.marshaller.jdk.JdkMarshaller;
@@ -224,18 +219,14 @@ public class ZookeeperDiscoveryMiscTest extends ZookeeperDiscoverySpiTestBase {
     public void testMbean() throws Exception {
         startGrids(3);
 
-        MBeanServer srv = ManagementFactory.getPlatformMBeanServer();
-
         UUID crdNodeId = grid(0).localNode().id();
 
         try {
             for (int i = 0; i < 3; i++) {
                 IgniteEx grid = grid(i);
 
-                ObjectName spiName = U.makeMBeanName(grid.context().igniteInstanceName(), "SPIs",
-                    ZookeeperDiscoverySpi.class.getSimpleName());
-
-                ZookeeperDiscoverySpiMBean bean = JMX.newMBeanProxy(srv, spiName, ZookeeperDiscoverySpiMBean.class);
+                ZookeeperDiscoverySpiMBean bean = getMxBean(grid.context().igniteInstanceName(), "SPIs",
+                    ZookeeperDiscoverySpi.class, ZookeeperDiscoverySpiMBean.class);
 
                 assertNotNull(bean);