ignite-49 review

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8b6cd806
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8b6cd806
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8b6cd806

Branch: refs/heads/ignite-132
Commit: 8b6cd8060549176128d9194be6c13434ae45e8d5
Parents: 2e92d4d
Author: Yakov Zhdanov <yzhda...@gridgain.com>
Authored: Tue Jan 27 18:17:00 2015 +0300
Committer: Yakov Zhdanov <yzhda...@gridgain.com>
Committed: Tue Jan 27 18:17:00 2015 +0300

----------------------------------------------------------------------
 .../spi/checkpoint/s3/S3CheckpointSpiMBean.java |  12 +-
 .../fifo/CacheFifoEvictionPolicyMBean.java      |  10 +-
 ...CacheGgfsPerBlockLruEvictionPolicyMBean.java |  18 +-
 .../lru/CacheLruEvictionPolicyMBean.java        |  10 +-
 .../random/CacheRandomEvictionPolicyMBean.java  |   6 +-
 .../client/router/GridTcpRouterMBean.java       |  16 +-
 .../ClusterLocalNodeMetricsMXBeanImpl.java      |   3 -
 .../ignite/internal/ClusterMetricsSnapshot.java |   2 +-
 .../org/apache/ignite/internal/GridGainEx.java  |   4 +-
 .../org/apache/ignite/internal/GridKernal.java  |   8 +-
 .../internal/IgniteThreadPoolMBeanAdapter.java  | 149 -------
 .../internal/IgniteThreadPoolMXBeanAdapter.java | 129 +++++++
 .../ignite/internal/IgnitionMBeanAdapter.java   |  59 ---
 .../ignite/internal/IgnitionMXBeanAdapter.java  |  59 +++
 .../internal/mxbean/IgniteStandardMXBean.java   | 277 +++++++++++++
 .../apache/ignite/internal/mxbean/package.html  |  24 ++
 .../apache/ignite/internal/util/GridUtils.java  |   8 +-
 .../ignite/mxbean/CacheMetricsMXBean.java       | 110 +++---
 .../mxbean/ClusterLocalNodeMetricsMXBean.java   | 108 +++---
 .../org/apache/ignite/mxbean/IgniteMBean.java   | 386 -------------------
 .../ignite/mxbean/IgniteMBeanDescription.java   |  34 --
 .../IgniteMBeanParametersDescriptions.java      |  34 --
 .../mxbean/IgniteMBeanParametersNames.java      |  34 --
 .../org/apache/ignite/mxbean/IgniteMXBean.java  | 386 +++++++++++++++++++
 .../ignite/mxbean/IgniteMXBeanDescription.java  |  34 ++
 .../IgniteMXBeanParametersDescriptions.java     |  34 ++
 .../mxbean/IgniteMXBeanParametersNames.java     |  34 ++
 .../ignite/mxbean/IgniteThreadPoolMBean.java    | 152 --------
 .../ignite/mxbean/IgniteThreadPoolMXBean.java   | 152 ++++++++
 .../org/apache/ignite/mxbean/IgnitionMBean.java | 151 --------
 .../apache/ignite/mxbean/IgnitionMXBean.java    | 151 ++++++++
 .../ignite/spi/IgniteSpiManagementMBean.java    |  14 +-
 .../noop/NoopAuthenticationSpiMBean.java        |   2 +-
 .../cache/CacheCheckpointSpiMBean.java          |   4 +-
 .../checkpoint/jdbc/JdbcCheckpointSpiMBean.java |  24 +-
 .../sharedfs/SharedFsCheckpointSpiMBean.java    |   6 +-
 .../fifoqueue/FifoQueueCollisionSpiMBean.java   |  18 +-
 .../JobStealingCollisionSpiMBean.java           |  36 +-
 .../PriorityQueueCollisionSpiMBean.java         |  34 +-
 .../tcp/TcpCommunicationSpiMBean.java           |  58 +--
 .../local/LocalDeploymentSpiMBean.java          |   2 +-
 .../tcp/TcpClientDiscoverySpiMBean.java         |  34 +-
 .../spi/discovery/tcp/TcpDiscoverySpiMBean.java |  62 +--
 .../memory/MemoryEventStorageSpiMBean.java      |  10 +-
 .../failover/always/AlwaysFailoverSpiMBean.java |   6 +-
 .../JobStealingFailoverSpiMBean.java            |   8 +-
 .../failover/never/NeverFailoverSpiMBean.java   |   2 +-
 .../adaptive/AdaptiveLoadBalancingSpiMBean.java |   4 +-
 .../RoundRobinLoadBalancingSpiMBean.java        |   4 +-
 .../WeightedRandomLoadBalancingSpiMBean.java    |   6 +-
 .../noop/NoopSecureSessionSpiMBean.java         |   2 +-
 .../swapspace/file/FileSwapSpaceSpiMBean.java   |  12 +-
 .../apache/ignite/streamer/StreamerMBean.java   |  34 +-
 .../ignite/streamer/StreamerStageMBean.java     |  24 +-
 .../ignite/streamer/StreamerWindowMBean.java    |  10 +-
 .../index/StreamerIndexProviderMBean.java       |  12 +-
 .../GridCheckpointManagerAbstractSelfTest.java  |   2 +-
 .../ignite/util/mbeans/GridMBeanSelfTest.java   |  49 +--
 .../uri/GridUriDeploymentSpiMBean.java          |   8 +-
 59 files changed, 1680 insertions(+), 1401 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpiMBean.java
----------------------------------------------------------------------
diff --git 
a/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpiMBean.java
 
b/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpiMBean.java
index f482ade..7a06688 100644
--- 
a/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpiMBean.java
+++ 
b/modules/aws/src/main/java/org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpiMBean.java
@@ -23,37 +23,37 @@ import org.apache.ignite.spi.*;
 /**
  * Management bean for {@link S3CheckpointSpi}.
  */
-@IgniteMBeanDescription("MBean that provides access to S3 checkpoint SPI 
configuration.")
+@IgniteMXBeanDescription("MBean that provides access to S3 checkpoint SPI 
configuration.")
 public interface S3CheckpointSpiMBean extends IgniteSpiManagementMBean {
     /**
      * Gets S3 bucket name to use.
      *
      * @return S3 bucket name to use.
      */
-    @IgniteMBeanDescription("S3 bucket name.")
+    @IgniteMXBeanDescription("S3 bucket name.")
     public String getBucketName();
 
     /**
      * @return S3 access key.
      */
-    @IgniteMBeanDescription("S3 access key.")
+    @IgniteMXBeanDescription("S3 access key.")
     public String getAccessKey();
 
     /**
      * @return HTTP proxy host.
      */
-    @IgniteMBeanDescription("HTTP proxy host.")
+    @IgniteMXBeanDescription("HTTP proxy host.")
     public String getProxyHost();
 
     /**
      * @return HTTP proxy port
      */
-    @IgniteMBeanDescription("HTTP proxy port.")
+    @IgniteMXBeanDescription("HTTP proxy port.")
     public int getProxyPort();
 
     /**
      * @return HTTP proxy user name.
      */
-    @IgniteMBeanDescription("HTTP proxy user name.")
+    @IgniteMXBeanDescription("HTTP proxy user name.")
     public String getProxyUsername();
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/CacheFifoEvictionPolicyMBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/CacheFifoEvictionPolicyMBean.java
 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/CacheFifoEvictionPolicyMBean.java
index 6b4d185..1dd5f18 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/CacheFifoEvictionPolicyMBean.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/fifo/CacheFifoEvictionPolicyMBean.java
@@ -22,14 +22,14 @@ import org.apache.ignite.mxbean.*;
 /**
  * MBean for {@code FIFO} eviction policy.
  */
-@IgniteMBeanDescription("MBean for FIFO cache eviction policy.")
+@IgniteMXBeanDescription("MBean for FIFO cache eviction policy.")
 public interface CacheFifoEvictionPolicyMBean {
     /**
      * Gets name of metadata attribute used to store eviction policy data.
      *
      * @return Name of metadata attribute used to store eviction policy data.
      */
-    @IgniteMBeanDescription("Name of metadata attribute used to store eviction 
policy data.")
+    @IgniteMXBeanDescription("Name of metadata attribute used to store 
eviction policy data.")
     public String getMetaAttributeName();
 
     /**
@@ -37,7 +37,7 @@ public interface CacheFifoEvictionPolicyMBean {
      *
      * @return Maximum allowed cache size.
      */
-    @IgniteMBeanDescription("Maximum allowed cache size.")
+    @IgniteMXBeanDescription("Maximum allowed cache size.")
     public int getMaxSize();
 
     /**
@@ -45,7 +45,7 @@ public interface CacheFifoEvictionPolicyMBean {
      *
      * @param max Maximum allowed cache size.
      */
-    @IgniteMBeanDescription("Set maximum allowed cache size.")
+    @IgniteMXBeanDescription("Set maximum allowed cache size.")
     public void setMaxSize(int max);
 
     /**
@@ -53,6 +53,6 @@ public interface CacheFifoEvictionPolicyMBean {
      *
      * @return Current queue size.
      */
-    @IgniteMBeanDescription("Current FIFO queue size.")
+    @IgniteMXBeanDescription("Current FIFO queue size.")
     public int getCurrentSize();
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/cache/eviction/ggfs/CacheGgfsPerBlockLruEvictionPolicyMBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/ggfs/CacheGgfsPerBlockLruEvictionPolicyMBean.java
 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/ggfs/CacheGgfsPerBlockLruEvictionPolicyMBean.java
index eca8007..6065da1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/ggfs/CacheGgfsPerBlockLruEvictionPolicyMBean.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/ggfs/CacheGgfsPerBlockLruEvictionPolicyMBean.java
@@ -25,14 +25,14 @@ import java.util.*;
 /**
  * MBean for {@code GGFS per-block LRU} eviction policy.
  */
-@IgniteMBeanDescription("MBean for GGFS per-block LRU cache eviction policy.")
+@IgniteMXBeanDescription("MBean for GGFS per-block LRU cache eviction policy.")
 public interface CacheGgfsPerBlockLruEvictionPolicyMBean {
     /**
      * Gets maximum allowed size of all blocks in bytes.
      *
      * @return Maximum allowed size of all blocks in bytes.
      */
-    @IgniteMBeanDescription("Maximum allowed size of all blocks in bytes.")
+    @IgniteMXBeanDescription("Maximum allowed size of all blocks in bytes.")
     public long getMaxSize();
 
     /**
@@ -40,7 +40,7 @@ public interface CacheGgfsPerBlockLruEvictionPolicyMBean {
      *
      * @param maxSize Maximum allowed size of data in all blocks in bytes.
      */
-    @IgniteMBeanDescription("Sets aximum allowed size of data in all blocks in 
bytes.")
+    @IgniteMXBeanDescription("Sets aximum allowed size of data in all blocks 
in bytes.")
     public void setMaxSize(long maxSize);
 
     /**
@@ -48,7 +48,7 @@ public interface CacheGgfsPerBlockLruEvictionPolicyMBean {
      *
      * @return Maximum allowed amount of blocks.
      */
-    @IgniteMBeanDescription("Maximum allowed amount of blocks.")
+    @IgniteMXBeanDescription("Maximum allowed amount of blocks.")
     public int getMaxBlocks();
 
     /**
@@ -56,7 +56,7 @@ public interface CacheGgfsPerBlockLruEvictionPolicyMBean {
      *
      * @param maxBlocks Maximum allowed amount of blocks.
      */
-    @IgniteMBeanDescription("Sets maximum allowed amount of blocks.")
+    @IgniteMXBeanDescription("Sets maximum allowed amount of blocks.")
     public void setMaxBlocks(int maxBlocks);
 
     /**
@@ -64,7 +64,7 @@ public interface CacheGgfsPerBlockLruEvictionPolicyMBean {
      *
      * @return Collection of regex for paths whose blocks must not be evicted.
      */
-    @IgniteMBeanDescription("Collection of regex for paths whose blocks must 
not be evicted.")
+    @IgniteMXBeanDescription("Collection of regex for paths whose blocks must 
not be evicted.")
     @Nullable public Collection<String> getExcludePaths();
 
     /**
@@ -72,7 +72,7 @@ public interface CacheGgfsPerBlockLruEvictionPolicyMBean {
      *
      * @param excludePaths Collection of regex for paths whose blocks must not 
be evicted.
      */
-    @IgniteMBeanDescription("Sets collection of regex for paths whose blocks 
must not be evicted.")
+    @IgniteMXBeanDescription("Sets collection of regex for paths whose blocks 
must not be evicted.")
     public void setExcludePaths(@Nullable Collection<String> excludePaths);
 
     /**
@@ -80,7 +80,7 @@ public interface CacheGgfsPerBlockLruEvictionPolicyMBean {
      *
      * @return Current size of data in all blocks.
      */
-    @IgniteMBeanDescription("Current size of data in all blocks.")
+    @IgniteMXBeanDescription("Current size of data in all blocks.")
     public long getCurrentSize();
 
     /**
@@ -88,6 +88,6 @@ public interface CacheGgfsPerBlockLruEvictionPolicyMBean {
      *
      * @return Current amount of blocks.
      */
-    @IgniteMBeanDescription("Current amount of blocks.")
+    @IgniteMXBeanDescription("Current amount of blocks.")
     public int getCurrentBlocks();
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/cache/eviction/lru/CacheLruEvictionPolicyMBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/lru/CacheLruEvictionPolicyMBean.java
 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/lru/CacheLruEvictionPolicyMBean.java
index 5e4d3bf..199a8c7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/lru/CacheLruEvictionPolicyMBean.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/lru/CacheLruEvictionPolicyMBean.java
@@ -22,14 +22,14 @@ import org.apache.ignite.mxbean.*;
 /**
  * MBean for {@code LRU} eviction policy.
  */
-@IgniteMBeanDescription("MBean for LRU cache eviction policy.")
+@IgniteMXBeanDescription("MBean for LRU cache eviction policy.")
 public interface CacheLruEvictionPolicyMBean {
     /**
      * Gets name of metadata attribute used to store eviction policy data.
      *
      * @return Name of metadata attribute used to store eviction policy data.
      */
-    @IgniteMBeanDescription("Name of metadata attribute used to store eviction 
policy data.")
+    @IgniteMXBeanDescription("Name of metadata attribute used to store 
eviction policy data.")
     public String getMetaAttributeName();
 
     /**
@@ -37,7 +37,7 @@ public interface CacheLruEvictionPolicyMBean {
      *
      * @return Maximum allowed cache size.
      */
-    @IgniteMBeanDescription("Maximum allowed cache size.")
+    @IgniteMXBeanDescription("Maximum allowed cache size.")
     public int getMaxSize();
 
     /**
@@ -45,7 +45,7 @@ public interface CacheLruEvictionPolicyMBean {
      *
      * @param max Maximum allowed cache size.
      */
-    @IgniteMBeanDescription("Sets maximum allowed cache size.")
+    @IgniteMXBeanDescription("Sets maximum allowed cache size.")
     public void setMaxSize(int max);
 
     /**
@@ -53,6 +53,6 @@ public interface CacheLruEvictionPolicyMBean {
      *
      * @return Current queue size.
      */
-    @IgniteMBeanDescription("Current queue size.")
+    @IgniteMXBeanDescription("Current queue size.")
     public int getCurrentSize();
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/CacheRandomEvictionPolicyMBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/CacheRandomEvictionPolicyMBean.java
 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/CacheRandomEvictionPolicyMBean.java
index 2cb4b6a..a1d1137 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/CacheRandomEvictionPolicyMBean.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/cache/eviction/random/CacheRandomEvictionPolicyMBean.java
@@ -22,14 +22,14 @@ import org.apache.ignite.mxbean.*;
 /**
  * MBean for {@code random} eviction policy.
  */
-@IgniteMBeanDescription("MBean for random cache eviction policy.")
+@IgniteMXBeanDescription("MBean for random cache eviction policy.")
 public interface CacheRandomEvictionPolicyMBean {
     /**
      * Gets maximum allowed cache size.
      *
      * @return Maximum allowed cache size.
      */
-    @IgniteMBeanDescription("Maximum allowed cache size.")
+    @IgniteMXBeanDescription("Maximum allowed cache size.")
     public int getMaxSize();
 
     /**
@@ -37,6 +37,6 @@ public interface CacheRandomEvictionPolicyMBean {
      *
      * @param max Maximum allowed cache size.
      */
-    @IgniteMBeanDescription("Sets maximum allowed cache size.")
+    @IgniteMXBeanDescription("Sets maximum allowed cache size.")
     public void setMaxSize(int max);
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/client/router/GridTcpRouterMBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/client/router/GridTcpRouterMBean.java
 
b/modules/core/src/main/java/org/apache/ignite/client/router/GridTcpRouterMBean.java
index fbd898a..2185bdd 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/client/router/GridTcpRouterMBean.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/client/router/GridTcpRouterMBean.java
@@ -24,14 +24,14 @@ import java.util.*;
 /**
  * MBean interface for TCP router.
  */
-@IgniteMBeanDescription("MBean for TCP router.")
+@IgniteMXBeanDescription("MBean for TCP router.")
 public interface GridTcpRouterMBean {
     /**
      * Gets host for TCP binary protocol server.
      *
      * @return TCP host.
      */
-    @IgniteMBeanDescription("Host for TCP binary protocol server.")
+    @IgniteMXBeanDescription("Host for TCP binary protocol server.")
     public String getHost();
 
     /**
@@ -39,7 +39,7 @@ public interface GridTcpRouterMBean {
      *
      * @return TCP port.
      */
-    @IgniteMBeanDescription("Port for TCP binary protocol server.")
+    @IgniteMXBeanDescription("Port for TCP binary protocol server.")
     public int getPort();
 
     /**
@@ -48,7 +48,7 @@ public interface GridTcpRouterMBean {
      *
      * @return Whether or not client authentication is required.
      */
-    @IgniteMBeanDescription("Flag indicating whether or not SSL is enabled for 
incoming connections.")
+    @IgniteMXBeanDescription("Flag indicating whether or not SSL is enabled 
for incoming connections.")
     public boolean isSslEnabled();
 
     /**
@@ -57,7 +57,7 @@ public interface GridTcpRouterMBean {
      *
      * @return Whether or not client authentication is required.
      */
-    @IgniteMBeanDescription("Flag indicating whether or not remote clients are 
required to have a valid SSL certificate.")
+    @IgniteMXBeanDescription("Flag indicating whether or not remote clients 
are required to have a valid SSL certificate.")
     public boolean isSslClientAuth();
 
     /**
@@ -65,7 +65,7 @@ public interface GridTcpRouterMBean {
      *
      * @return List of server addresses.
      */
-    @IgniteMBeanDescription("Gets list of server addresses where router's 
embedded client should connect.")
+    @IgniteMXBeanDescription("Gets list of server addresses where router's 
embedded client should connect.")
     public Collection<String> getServers();
 
     /**
@@ -74,7 +74,7 @@ public interface GridTcpRouterMBean {
      *
      * @return Number of messages received by this router.
      */
-    @IgniteMBeanDescription("Number of messages received by this router.")
+    @IgniteMXBeanDescription("Number of messages received by this router.")
     public long getReceivedCount();
 
     /**
@@ -83,6 +83,6 @@ public interface GridTcpRouterMBean {
      *
      * @return Number of responses returned by this router.
      */
-    @IgniteMBeanDescription("Number of responses returned by this router.")
+    @IgniteMXBeanDescription("Number of responses returned by this router.")
     public long getSendCount();
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalNodeMetricsMXBeanImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalNodeMetricsMXBeanImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalNodeMetricsMXBeanImpl.java
index 30fa224..80269e5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalNodeMetricsMXBeanImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/ClusterLocalNodeMetricsMXBeanImpl.java
@@ -25,9 +25,6 @@ import org.apache.ignite.mxbean.*;
  * Local node metrics MBean.
  */
 public class ClusterLocalNodeMetricsMXBeanImpl implements 
ClusterLocalNodeMetricsMXBean {
-    /** */
-    private static final long serialVersionUID = 0L;
-
     /** Grid node. */
     private final ClusterNode node;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/ClusterMetricsSnapshot.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/ClusterMetricsSnapshot.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/ClusterMetricsSnapshot.java
index 89e1037..b50ab60 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/ClusterMetricsSnapshot.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/ClusterMetricsSnapshot.java
@@ -85,7 +85,6 @@ public class ClusterMetricsSnapshot implements ClusterMetrics 
{
             8/*received bytes count*/ +
             4/*outbound messages queue size*/;
 
-
     /** */
     private long lastUpdateTime = -1;
 
@@ -240,6 +239,7 @@ public class ClusterMetricsSnapshot implements 
ClusterMetrics {
      * Create empty snapshot.
      */
     public ClusterMetricsSnapshot() {
+        // No-op.
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/GridGainEx.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridGainEx.java 
b/modules/core/src/main/java/org/apache/ignite/internal/GridGainEx.java
index e0d3648..553d874 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridGainEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridGainEx.java
@@ -2234,7 +2234,7 @@ public class GridGainEx {
 
                 if (data == null) {
                     try {
-                        IgnitionMBean mbean = new IgnitionMBeanAdapter();
+                        IgnitionMXBean mbean = new IgnitionMXBeanAdapter();
 
                         ObjectName objName = U.makeMBeanName(
                             null,
@@ -2252,7 +2252,7 @@ public class GridGainEx {
                                 "Kernal",
                                 Ignition.class.getSimpleName(),
                                 mbean,
-                                IgnitionMBean.class
+                                IgnitionMXBean.class
                             );
 
                             data = new GridMBeanServerData(objName);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java
index 7038b5a..b988b85 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java
@@ -106,7 +106,7 @@ import static 
org.apache.ignite.internal.util.nodestart.GridNodeStartUtils.*;
  * See <a 
href="http://en.wikipedia.org/wiki/Kernal";>http://en.wikipedia.org/wiki/Kernal</a>
 for information on the
  * misspelling.
  */
-public class GridKernal extends ClusterGroupAdapter implements GridEx, 
IgniteMBean {
+public class GridKernal extends ClusterGroupAdapter implements GridEx, 
IgniteMXBean {
     /** */
     private static final long serialVersionUID = 0L;
 
@@ -1434,7 +1434,7 @@ public class GridKernal extends ClusterGroupAdapter 
implements GridEx, IgniteMBe
                 "Kernal",
                 getClass().getSimpleName(),
                 this,
-                IgniteMBean.class);
+                IgniteMXBean.class);
 
             if (log.isDebugEnabled())
                 log.debug("Registered kernal MBean: " + kernalMBean);
@@ -1499,8 +1499,8 @@ public class GridKernal extends ClusterGroupAdapter 
implements GridEx, IgniteMBe
                 cfg.getGridName(),
                 "Thread Pools",
                 name,
-                new IgniteThreadPoolMBeanAdapter(exec),
-                IgniteThreadPoolMBean.class);
+                new IgniteThreadPoolMXBeanAdapter(exec),
+                IgniteThreadPoolMXBean.class);
 
             if (log.isDebugEnabled())
                 log.debug("Registered executor service MBean: " + res);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/IgniteThreadPoolMBeanAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteThreadPoolMBeanAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteThreadPoolMBeanAdapter.java
deleted file mode 100644
index 45a6ffd..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteThreadPoolMBeanAdapter.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal;
-
-import org.apache.ignite.mxbean.*;
-
-import java.util.concurrent.*;
-
-/**
- * Adapter for {@link org.apache.ignite.mxbean.IgniteThreadPoolMBean} which 
delegates all method calls to the underlying
- * {@link ExecutorService} instance.
- */
-public class IgniteThreadPoolMBeanAdapter implements IgniteThreadPoolMBean {
-    /** */
-    private final ExecutorService exec;
-
-    /**
-     * Creates adapter.
-     *
-     * @param exec Executor service
-     */
-    public IgniteThreadPoolMBeanAdapter(ExecutorService exec) {
-        assert exec != null;
-
-        this.exec = exec;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getActiveCount() {
-        assert exec != null;
-
-        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getActiveCount() : -1;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getCompletedTaskCount() {
-        assert exec != null;
-
-        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getCompletedTaskCount() : -1;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getCorePoolSize() {
-        assert exec != null;
-
-        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getCorePoolSize() : -1;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getLargestPoolSize() {
-        assert exec != null;
-
-        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getLargestPoolSize() : -1;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getMaximumPoolSize() {
-        assert exec != null;
-
-        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getMaximumPoolSize() : -1;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getPoolSize() {
-        assert exec != null;
-
-        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getPoolSize() : -1;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getTaskCount() {
-        assert exec != null;
-
-        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getTaskCount() : -1;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int getQueueSize() {
-        assert exec != null;
-
-        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getQueue().size() : -1;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getKeepAliveTime() {
-        assert exec != null;
-
-        return exec instanceof ThreadPoolExecutor ?
-            ((ThreadPoolExecutor)exec).getKeepAliveTime(TimeUnit.MILLISECONDS) 
: -1;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isShutdown() {
-        assert exec != null;
-
-        return exec.isShutdown();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isTerminated() {
-        return exec.isTerminated();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isTerminating() {
-        assert exec != null;
-
-        return exec instanceof ThreadPoolExecutor && ((ThreadPoolExecutor) 
exec).isTerminating();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String getRejectedExecutionHandlerClass() {
-        assert exec != null;
-
-        if (!(exec instanceof ThreadPoolExecutor))
-            return "";
-
-        RejectedExecutionHandler hnd = 
((ThreadPoolExecutor)exec).getRejectedExecutionHandler();
-
-        return hnd == null ? "" : hnd.getClass().getName();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String getThreadFactoryClass() {
-        assert exec != null;
-
-        if (!(exec instanceof ThreadPoolExecutor))
-            return "";
-
-        ThreadFactory factory = ((ThreadPoolExecutor)exec).getThreadFactory();
-
-        return factory == null ? "" : factory.getClass().getName();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/IgniteThreadPoolMXBeanAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgniteThreadPoolMXBeanAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteThreadPoolMXBeanAdapter.java
new file mode 100644
index 0000000..35ccbb1
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/IgniteThreadPoolMXBeanAdapter.java
@@ -0,0 +1,129 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal;
+
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.mxbean.*;
+
+import java.util.concurrent.*;
+
+/**
+ * Adapter for {@link IgniteThreadPoolMXBean} which delegates all method calls 
to the underlying
+ * {@link ExecutorService} instance.
+ */
+public class IgniteThreadPoolMXBeanAdapter implements IgniteThreadPoolMXBean {
+    /** */
+    private final ExecutorService exec;
+
+    /**
+     * Creates adapter.
+     *
+     * @param exec Executor service
+     */
+    public IgniteThreadPoolMXBeanAdapter(ExecutorService exec) {
+        assert exec != null;
+
+        this.exec = exec;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getActiveCount() {
+        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getActiveCount() : -1;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getCompletedTaskCount() {
+        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getCompletedTaskCount() : -1;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getCorePoolSize() {
+        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getCorePoolSize() : -1;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getLargestPoolSize() {
+        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getLargestPoolSize() : -1;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getMaximumPoolSize() {
+        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getMaximumPoolSize() : -1;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getPoolSize() {
+        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getPoolSize() : -1;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getTaskCount() {
+        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getTaskCount() : -1;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int getQueueSize() {
+        return exec instanceof ThreadPoolExecutor ? 
((ThreadPoolExecutor)exec).getQueue().size() : -1;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long getKeepAliveTime() {
+        return exec instanceof ThreadPoolExecutor ?
+            ((ThreadPoolExecutor)exec).getKeepAliveTime(TimeUnit.MILLISECONDS) 
: -1;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isShutdown() {
+        return exec.isShutdown();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isTerminated() {
+        return exec.isTerminated();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isTerminating() {
+        return exec instanceof ThreadPoolExecutor && ((ThreadPoolExecutor) 
exec).isTerminating();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String getRejectedExecutionHandlerClass() {
+        if (!(exec instanceof ThreadPoolExecutor))
+            return "";
+
+        RejectedExecutionHandler hnd = 
((ThreadPoolExecutor)exec).getRejectedExecutionHandler();
+
+        return hnd == null ? "" : hnd.getClass().getName();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String getThreadFactoryClass() {
+        if (!(exec instanceof ThreadPoolExecutor))
+            return "";
+
+        ThreadFactory factory = ((ThreadPoolExecutor)exec).getThreadFactory();
+
+        return factory == null ? "" : factory.getClass().getName();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteThreadPoolMXBeanAdapter.class, this, 
super.toString());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/IgnitionMBeanAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionMBeanAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionMBeanAdapter.java
deleted file mode 100644
index dda2ebd..0000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionMBeanAdapter.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal;
-
-import org.apache.ignite.mxbean.*;
-import org.apache.ignite.internal.util.typedef.*;
-
-/**
- * Management bean that provides access to {@link org.apache.ignite.Ignition}.
- */
-public class IgnitionMBeanAdapter implements IgnitionMBean {
-    /** {@inheritDoc} */
-    @Override public String getState() {
-        return G.state().toString();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String getState(String name) {
-        if (F.isEmpty(name))
-            name = null;
-
-        return G.state(name).toString();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean stop(boolean cancel) {
-        return G.stop(cancel);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean stop(String name, boolean cancel) {
-        return G.stop(name, cancel);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void stopAll(boolean cancel) {
-        G.stopAll(cancel);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void restart(boolean cancel) {
-        G.restart(cancel);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/IgnitionMXBeanAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionMXBeanAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionMXBeanAdapter.java
new file mode 100644
index 0000000..a0c73e0
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionMXBeanAdapter.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal;
+
+import org.apache.ignite.mxbean.*;
+import org.apache.ignite.internal.util.typedef.*;
+
+/**
+ * Management bean that provides access to {@link org.apache.ignite.Ignition}.
+ */
+public class IgnitionMXBeanAdapter implements IgnitionMXBean {
+    /** {@inheritDoc} */
+    @Override public String getState() {
+        return G.state().toString();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String getState(String name) {
+        if (F.isEmpty(name))
+            name = null;
+
+        return G.state(name).toString();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean stop(boolean cancel) {
+        return G.stop(cancel);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean stop(String name, boolean cancel) {
+        return G.stop(name, cancel);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void stopAll(boolean cancel) {
+        G.stopAll(cancel);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void restart(boolean cancel) {
+        G.restart(cancel);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/mxbean/IgniteStandardMXBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/mxbean/IgniteStandardMXBean.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/mxbean/IgniteStandardMXBean.java
new file mode 100644
index 0000000..59bb9e2
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/mxbean/IgniteStandardMXBean.java
@@ -0,0 +1,277 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.mxbean;
+
+import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.mxbean.*;
+
+import javax.management.*;
+import java.lang.reflect.*;
+import java.util.*;
+
+/**
+ * Extension of standard Java MBean. Overrides some hooks to return
+ * annotation based descriptions.
+ */
+public class IgniteStandardMXBean extends StandardMBean {
+    /**
+     * Objects maps from primitive classes to primitive object classes.
+     */
+    private static final Map<String, Class<?>> primCls = new HashMap<>();
+
+    /**
+     * Static constructor.
+     */
+    static{
+        primCls.put(Boolean.TYPE.toString().toLowerCase(), Boolean.TYPE);
+        primCls.put(Character.TYPE.toString().toLowerCase(), Character.TYPE);
+        primCls.put(Byte.TYPE.toString().toLowerCase(), Byte.TYPE);
+        primCls.put(Short.TYPE.toString().toLowerCase(), Short.TYPE);
+        primCls.put(Integer.TYPE.toString().toLowerCase(), Integer.TYPE);
+        primCls.put(Long.TYPE.toString().toLowerCase(), Long.TYPE);
+        primCls.put(Float.TYPE.toString().toLowerCase(), Float.TYPE);
+        primCls.put(Double.TYPE.toString().toLowerCase(), Double.TYPE);
+    }
+
+    /**
+     * Make a DynamicMBean out of the object implementation, using the 
specified
+     * mbeanInterface class.
+     *
+     * @param implementation The implementation of this MBean.
+     * @param mbeanInterface The Management Interface exported by this
+     *      MBean's implementation. If {@code null}, then this
+     *      object will use standard JMX design pattern to determine
+     *      the management interface associated with the given
+     *      implementation.
+     *      If {@code null} value passed then information will be built by
+     *      {@link StandardMBean}
+     *
+     * @exception NotCompliantMBeanException if the {@code mbeanInterface}
+     *    does not follow JMX design patterns for Management Interfaces, or
+     *    if the given {@code implementation} does not implement the
+     *    specified interface.
+     */
+    public <T> IgniteStandardMXBean(T implementation, Class<T> mbeanInterface)
+        throws NotCompliantMBeanException {
+        super(implementation, mbeanInterface);
+    }
+
+    /** {@inheritDoc} */
+    @Override protected String getDescription(MBeanAttributeInfo info) {
+        String str = super.getDescription(info);
+
+        String methodName = (info.isIs() ? "is" : "get") + info.getName();
+
+        try {
+            // Recursively get method.
+            Method mtd = findMethod(getMBeanInterface(), methodName, new 
Class[]{});
+
+            if (mtd != null) {
+                IgniteMXBeanDescription desc = 
mtd.getAnnotation(IgniteMXBeanDescription.class);
+
+                if (desc != null) {
+                    str = desc.value();
+
+                    assert str != null : "Failed to find method: " + mtd;
+                    assert str.trim().length() > 0 : "Method description 
cannot be empty: " + mtd;
+
+                    // Enforce proper English.
+                    assert Character.isUpperCase(str.charAt(0)) == true :
+                        "Description must start with upper case: " + str;
+
+                    assert str.charAt(str.length() - 1) == '.' : "Description 
must end with period: " + str;
+                }
+            }
+        }
+        catch (SecurityException e) {
+            // No-op. Default value will be returned.
+        }
+
+        return str;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected String getDescription(MBeanInfo info) {
+        String str = super.getDescription(info);
+
+        // Return either default one or given by annotation.
+        IgniteMXBeanDescription desc = U.getAnnotation(getMBeanInterface(), 
IgniteMXBeanDescription.class);
+
+        if (desc != null) {
+            str = desc.value();
+
+            assert str != null;
+            assert str.trim().length() > 0;
+
+            // Enforce proper English.
+            assert Character.isUpperCase(str.charAt(0)) == true : str;
+            assert str.charAt(str.length() - 1) == '.' : str;
+        }
+
+        return str;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected String getDescription(MBeanOperationInfo info) {
+        String str = super.getDescription(info);
+
+        try {
+            Method m = getMethod(info);
+
+            IgniteMXBeanDescription desc = 
m.getAnnotation(IgniteMXBeanDescription.class);
+
+            if (desc != null) {
+                str = desc.value();
+
+                assert str != null;
+                assert str.trim().length() > 0;
+
+                // Enforce proper English.
+                assert Character.isUpperCase(str.charAt(0)) == true : str;
+                assert str.charAt(str.length() - 1) == '.' : str;
+            }
+        }
+        catch (SecurityException | ClassNotFoundException e) {
+            // No-op. Default value will be returned.
+        }
+
+        return str;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected String getDescription(MBeanOperationInfo op, 
MBeanParameterInfo param, int seq) {
+        String str = super.getDescription(op, param, seq);
+
+        try {
+            Method m = getMethod(op);
+
+            IgniteMXBeanParametersDescriptions decsAnn = 
m.getAnnotation(IgniteMXBeanParametersDescriptions.class);
+
+            if (decsAnn != null) {
+                assert decsAnn.value() != null;
+                assert seq < decsAnn.value().length;
+
+                str = decsAnn.value()[seq];
+
+                assert str != null;
+                assert str.trim().length() > 0;
+
+                // Enforce proper English.
+                assert Character.isUpperCase(str.charAt(0)) == true : str;
+                assert str.charAt(str.length() - 1) == '.' : str;
+            }
+        }
+        catch (SecurityException | ClassNotFoundException e) {
+            // No-op. Default value will be returned.
+        }
+
+        return str;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected String getParameterName(MBeanOperationInfo op, 
MBeanParameterInfo param, int seq) {
+        String str = super.getParameterName(op, param, seq);
+
+        try {
+            Method m = getMethod(op);
+
+            IgniteMXBeanParametersNames namesAnn = 
m.getAnnotation(IgniteMXBeanParametersNames.class);
+
+            if (namesAnn != null) {
+                assert namesAnn.value() != null;
+                assert seq < namesAnn.value().length;
+
+                str = namesAnn.value()[seq];
+
+                assert str != null;
+                assert str.trim().length() > 0;
+            }
+        }
+        catch (SecurityException | ClassNotFoundException e) {
+            // No-op. Default value will be returned.
+        }
+
+        return str;
+    }
+
+    /**
+     * Gets method by operation info.
+     *
+     * @param op MBean operation info.
+     * @return Method.
+     * @throws ClassNotFoundException Thrown if parameter type is unknown.
+     * @throws SecurityException Thrown if method access is not allowed.
+     */
+    private Method getMethod(MBeanOperationInfo op) throws 
ClassNotFoundException, SecurityException {
+        String methodName = op.getName();
+
+        MBeanParameterInfo[] signature = op.getSignature();
+
+        Class<?>[] params = new Class<?>[signature.length];
+
+        for (int i = 0; i < signature.length; i++) {
+            // Parameter type is either a primitive type or class. Try both.
+            Class<?> type = primCls.get(signature[i].getType().toLowerCase());
+
+            if (type == null)
+                type = Class.forName(signature[i].getType());
+
+            params[i] = type;
+        }
+
+        return findMethod(getMBeanInterface(), methodName, params);
+    }
+
+    /**
+     * Finds method for the given interface.
+     *
+     * @param itf MBean interface.
+     * @param methodName Method name.
+     * @param params Method parameters.
+     * @return Method.
+     */
+    @SuppressWarnings("unchecked")
+    private Method findMethod(Class itf, String methodName, Class[] params) {
+        assert itf.isInterface() == true;
+
+        Method res = null;
+
+        // Try to get method from given interface.
+        try {
+            res = itf.getDeclaredMethod(methodName, params);
+
+            if (res != null)
+                return res;
+        }
+        catch (NoSuchMethodException e) {
+            // No-op. Default value will be returned.
+        }
+
+        // Process recursively super interfaces.
+        Class[] superItfs = itf.getInterfaces();
+
+        for (Class superItf: superItfs) {
+            res = findMethod(superItf, methodName, params);
+
+            if (res != null)
+                return res;
+        }
+
+        return res;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/mxbean/package.html
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/mxbean/package.html 
b/modules/core/src/main/java/org/apache/ignite/internal/mxbean/package.html
new file mode 100644
index 0000000..fd20571
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/mxbean/package.html
@@ -0,0 +1,24 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<body>
+    <!-- Package description. -->
+    Contains internal mxbeans stuff.
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/internal/util/GridUtils.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/GridUtils.java 
b/modules/core/src/main/java/org/apache/ignite/internal/util/GridUtils.java
index 38bc2be..54bc9ae 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridUtils.java
@@ -24,10 +24,10 @@ import org.apache.ignite.compute.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.mxbean.*;
 import org.apache.ignite.internal.processors.cache.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.lifecycle.*;
-import org.apache.ignite.mxbean.*;
 import org.apache.ignite.portables.*;
 import org.apache.ignite.spi.*;
 import org.apache.ignite.internal.managers.deployment.*;
@@ -3937,7 +3937,7 @@ public abstract class GridUtils {
         assert name != null;
         assert itf != null;
 
-        DynamicMBean mbean = new IgniteStandardMBean(impl, itf);
+        DynamicMBean mbean = new IgniteStandardMXBean(impl, itf);
 
         mbean.getMBeanInfo();
 
@@ -3961,7 +3961,7 @@ public abstract class GridUtils {
         assert name != null;
         assert itf != null;
 
-        DynamicMBean mbean = new IgniteStandardMBean(impl, itf);
+        DynamicMBean mbean = new IgniteStandardMXBean(impl, itf);
 
         mbean.getMBeanInfo();
 
@@ -3987,7 +3987,7 @@ public abstract class GridUtils {
         assert name != null;
         assert itf != null;
 
-        DynamicMBean mbean = new IgniteStandardMBean(impl, itf);
+        DynamicMBean mbean = new IgniteStandardMXBean(impl, itf);
 
         mbean.getMBeanInfo();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/mxbean/CacheMetricsMXBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/mxbean/CacheMetricsMXBean.java 
b/modules/core/src/main/java/org/apache/ignite/mxbean/CacheMetricsMXBean.java
index 9cf9996..25ac61c 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/mxbean/CacheMetricsMXBean.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/mxbean/CacheMetricsMXBean.java
@@ -25,221 +25,221 @@ import javax.cache.management.*;
 /**
  * This interface defines JMX view on {@link IgniteCache}.
  */
-@IgniteMBeanDescription("MBean that provides access to cache descriptor.")
+@IgniteMXBeanDescription("MBean that provides access to cache descriptor.")
 public interface CacheMetricsMXBean extends CacheStatisticsMXBean, 
CacheMXBean, CacheMetrics {
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Clear statistics.")
+    @IgniteMXBeanDescription("Clear statistics.")
     public void clear();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of hits.")
+    @IgniteMXBeanDescription("Number of hits.")
     public long getCacheHits();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Percentage of successful hits.")
+    @IgniteMXBeanDescription("Percentage of successful hits.")
     public float getCacheHitPercentage();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of misses.")
+    @IgniteMXBeanDescription("Number of misses.")
     public long getCacheMisses();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Percentage of accesses that failed to find 
anything.")
+    @IgniteMXBeanDescription("Percentage of accesses that failed to find 
anything.")
     public float getCacheMissPercentage();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of gets.")
+    @IgniteMXBeanDescription("Number of gets.")
     public long getCacheGets();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of puts.")
+    @IgniteMXBeanDescription("Number of puts.")
     public long getCachePuts();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of removals.")
+    @IgniteMXBeanDescription("Number of removals.")
     public long getCacheRemovals();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of eviction entries.")
+    @IgniteMXBeanDescription("Number of eviction entries.")
     public long getCacheEvictions();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time to execute get.")
+    @IgniteMXBeanDescription("Average time to execute get.")
     public float getAverageGetTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time to execute put.")
+    @IgniteMXBeanDescription("Average time to execute put.")
     public float getAveragePutTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time to execute remove.")
+    @IgniteMXBeanDescription("Average time to execute remove.")
     public float getAverageRemoveTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time to commit transaction.")
+    @IgniteMXBeanDescription("Average time to commit transaction.")
     public float getAverageTxCommitTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time to rollback transaction.")
+    @IgniteMXBeanDescription("Average time to rollback transaction.")
     public float getAverageTxRollbackTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of transaction commits.")
+    @IgniteMXBeanDescription("Number of transaction commits.")
     public long getCacheTxCommits();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of transaction rollback.")
+    @IgniteMXBeanDescription("Number of transaction rollback.")
     public long getCacheTxRollbacks();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Cache name.")
+    @IgniteMXBeanDescription("Cache name.")
     public String name();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of entries that was swapped to disk.")
+    @IgniteMXBeanDescription("Number of entries that was swapped to disk.")
     public long getOverflowSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of entries stored in off-heap memory.")
+    @IgniteMXBeanDescription("Number of entries stored in off-heap memory.")
     public long getOffHeapEntriesCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Memory size allocated in off-heap.")
+    @IgniteMXBeanDescription("Memory size allocated in off-heap.")
     public long getOffHeapAllocatedSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of non-null values in the cache.")
+    @IgniteMXBeanDescription("Number of non-null values in the cache.")
     public int getSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of keys in the cache (possibly with null 
values).")
+    @IgniteMXBeanDescription("Number of keys in the cache (possibly with null 
values).")
     public int getKeySize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("True if cache is empty.")
+    @IgniteMXBeanDescription("True if cache is empty.")
     public boolean isEmpty();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Current size of evict queue.")
+    @IgniteMXBeanDescription("Current size of evict queue.")
     public int getDhtEvictQueueCurrentSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction per-thread map size.")
+    @IgniteMXBeanDescription("Transaction per-thread map size.")
     public int getTxThreadMapSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction per-Xid map size.")
+    @IgniteMXBeanDescription("Transaction per-Xid map size.")
     public int getTxXidMapSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction committed queue size.")
+    @IgniteMXBeanDescription("Transaction committed queue size.")
     public int getTxCommitQueueSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction prepared queue size.")
+    @IgniteMXBeanDescription("Transaction prepared queue size.")
     public int getTxPrepareQueueSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction start version counts map size.")
+    @IgniteMXBeanDescription("Transaction start version counts map size.")
     public int getTxStartVersionCountsSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction committed ID map size.")
+    @IgniteMXBeanDescription("Transaction committed ID map size.")
     public int getTxCommittedVersionsSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction rolled back ID map size.")
+    @IgniteMXBeanDescription("Transaction rolled back ID map size.")
     public int getTxRolledbackVersionsSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT per-thread map size.")
+    @IgniteMXBeanDescription("Transaction DHT per-thread map size.")
     public int getTxDhtThreadMapSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT per-Xid map size.")
+    @IgniteMXBeanDescription("Transaction DHT per-Xid map size.")
     public int getTxDhtXidMapSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT committed queue size.")
+    @IgniteMXBeanDescription("Transaction DHT committed queue size.")
     public int getTxDhtCommitQueueSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT prepared queue size.")
+    @IgniteMXBeanDescription("Transaction DHT prepared queue size.")
     public int getTxDhtPrepareQueueSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT start version counts map size.")
+    @IgniteMXBeanDescription("Transaction DHT start version counts map size.")
     public int getTxDhtStartVersionCountsSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT committed ID map size.")
+    @IgniteMXBeanDescription("Transaction DHT committed ID map size.")
     public int getTxDhtCommittedVersionsSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Transaction DHT rolled back ID map size.")
+    @IgniteMXBeanDescription("Transaction DHT rolled back ID map size.")
     public int getTxDhtRolledbackVersionsSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("True if write-behind is enabled for this cache.")
+    @IgniteMXBeanDescription("True if write-behind is enabled for this cache.")
     public boolean isWriteBehindEnabled();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Size of internal buffer that triggers flush 
procedure.")
+    @IgniteMXBeanDescription("Size of internal buffer that triggers flush 
procedure.")
     public int getWriteBehindFlushSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Count of flush threads.")
+    @IgniteMXBeanDescription("Count of flush threads.")
     public int getWriteBehindFlushThreadCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Flush frequency interval in milliseconds.")
+    @IgniteMXBeanDescription("Flush frequency interval in milliseconds.")
     public long getWriteBehindFlushFrequency();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Maximum size of batch for similar operations.")
+    @IgniteMXBeanDescription("Maximum size of batch for similar operations.")
     public int getWriteBehindStoreBatchSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Count of cache overflow events since write-behind 
cache has started.")
+    @IgniteMXBeanDescription("Count of cache overflow events since 
write-behind cache has started.")
     public int getWriteBehindTotalCriticalOverflowCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Count of cache overflow events since write-behind 
cache has started.")
+    @IgniteMXBeanDescription("Count of cache overflow events since 
write-behind cache has started.")
     public int getWriteBehindCriticalOverflowCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Count of cache cache entries that are currently 
in retry state.")
+    @IgniteMXBeanDescription("Count of cache cache entries that are currently 
in retry state.")
     public int getWriteBehindErrorRetryCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Count of cache entries that are waiting to be 
flushed.")
+    @IgniteMXBeanDescription("Count of cache entries that are waiting to be 
flushed.")
     public int getWriteBehindBufferSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Key type.")
+    @IgniteMXBeanDescription("Key type.")
     public String getKeyType();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Value type.")
+    @IgniteMXBeanDescription("Value type.")
     public String getValueType();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("True if the cache is store by value.")
+    @IgniteMXBeanDescription("True if the cache is store by value.")
     public boolean isStoreByValue();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("True if statistics collection is enabled.")
+    @IgniteMXBeanDescription("True if statistics collection is enabled.")
     public boolean isStatisticsEnabled();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("True if management is enabled.")
+    @IgniteMXBeanDescription("True if management is enabled.")
     public boolean isManagementEnabled();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("True when a cache is in read-through mode.")
+    @IgniteMXBeanDescription("True when a cache is in read-through mode.")
     public boolean isReadThrough();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("True when a cache is in write-through mode.")
+    @IgniteMXBeanDescription("True when a cache is in write-through mode.")
     public boolean isWriteThrough();
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8b6cd806/modules/core/src/main/java/org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.java
 
b/modules/core/src/main/java/org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.java
index 279c19a..281f4e8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/mxbean/ClusterLocalNodeMetricsMXBean.java
@@ -22,219 +22,219 @@ import org.apache.ignite.cluster.*;
 /**
  * MBean for local node metrics.
  */
-@IgniteMBeanDescription("MBean that provides access to all local node 
metrics.")
+@IgniteMXBeanDescription("MBean that provides access to all local node 
metrics.")
 public interface ClusterLocalNodeMetricsMXBean extends ClusterMetrics {
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Last update time of this node metrics.")
+    @IgniteMXBeanDescription("Last update time of this node metrics.")
     public long getLastUpdateTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Maximum number of jobs that ever ran concurrently 
on this node.")
+    @IgniteMXBeanDescription("Maximum number of jobs that ever ran 
concurrently on this node.")
     public int getMaximumActiveJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of currently active jobs concurrently 
executing on the node.")
+    @IgniteMXBeanDescription("Number of currently active jobs concurrently 
executing on the node.")
     public int getCurrentActiveJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average number of active jobs concurrently 
executing on the node.")
+    @IgniteMXBeanDescription("Average number of active jobs concurrently 
executing on the node.")
     public float getAverageActiveJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Maximum number of waiting jobs this node had.")
+    @IgniteMXBeanDescription("Maximum number of waiting jobs this node had.")
     public int getMaximumWaitingJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of queued jobs currently waiting to be 
executed.")
+    @IgniteMXBeanDescription("Number of queued jobs currently waiting to be 
executed.")
     public int getCurrentWaitingJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average number of waiting jobs this node had 
queued.")
+    @IgniteMXBeanDescription("Average number of waiting jobs this node had 
queued.")
     public float getAverageWaitingJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Maximum number of jobs rejected at once during a 
single collision resolution operation.")
+    @IgniteMXBeanDescription("Maximum number of jobs rejected at once during a 
single collision resolution operation.")
     public int getMaximumRejectedJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of jobs rejected after more recent 
collision resolution operation.")
+    @IgniteMXBeanDescription("Number of jobs rejected after more recent 
collision resolution operation.")
     public int getCurrentRejectedJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average number of jobs this node rejects during 
collision resolution operations.")
+    @IgniteMXBeanDescription("Average number of jobs this node rejects during 
collision resolution operations.")
     public float getAverageRejectedJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription(
+    @IgniteMXBeanDescription(
         "Total number of jobs this node rejects during collision resolution 
operations since node startup.")
     public int getTotalRejectedJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Maximum number of cancelled jobs this node ever 
had running concurrently.")
+    @IgniteMXBeanDescription("Maximum number of cancelled jobs this node ever 
had running concurrently.")
     public int getMaximumCancelledJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Number of cancelled jobs that are still running.")
+    @IgniteMXBeanDescription("Number of cancelled jobs that are still 
running.")
     public int getCurrentCancelledJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average number of cancelled jobs this node ever 
had running concurrently.")
+    @IgniteMXBeanDescription("Average number of cancelled jobs this node ever 
had running concurrently.")
     public float getAverageCancelledJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Total number of cancelled jobs since node 
startup.")
+    @IgniteMXBeanDescription("Total number of cancelled jobs since node 
startup.")
     public int getTotalCancelledJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Total number of jobs handled by the node.")
+    @IgniteMXBeanDescription("Total number of jobs handled by the node.")
     public int getTotalExecutedJobs();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Maximum time a job ever spent waiting in a queue 
to be executed.")
+    @IgniteMXBeanDescription("Maximum time a job ever spent waiting in a queue 
to be executed.")
     public long getMaximumJobWaitTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Current wait time of oldest job.")
+    @IgniteMXBeanDescription("Current wait time of oldest job.")
     public long getCurrentJobWaitTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time jobs spend waiting in the queue to 
be executed.")
+    @IgniteMXBeanDescription("Average time jobs spend waiting in the queue to 
be executed.")
     public double getAverageJobWaitTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Time it took to execute the longest job on the 
node.")
+    @IgniteMXBeanDescription("Time it took to execute the longest job on the 
node.")
     public long getMaximumJobExecuteTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Longest time a current job has been executing 
for.")
+    @IgniteMXBeanDescription("Longest time a current job has been executing 
for.")
     public long getCurrentJobExecuteTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time a job takes to execute on the node.")
+    @IgniteMXBeanDescription("Average time a job takes to execute on the 
node.")
     public double getAverageJobExecuteTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Total number of tasks handled by the node.")
+    @IgniteMXBeanDescription("Total number of tasks handled by the node.")
     public int getTotalExecutedTasks();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Total time this node spent executing jobs.")
+    @IgniteMXBeanDescription("Total time this node spent executing jobs.")
     public long getTotalBusyTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Total time this node spent idling (not executing 
any jobs).")
+    @IgniteMXBeanDescription("Total time this node spent idling (not executing 
any jobs).")
     public long getTotalIdleTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Time this node spend idling since executing last 
job.")
+    @IgniteMXBeanDescription("Time this node spend idling since executing last 
job.")
     public long getCurrentIdleTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Percentage of time this node is busy executing 
jobs vs. idling.")
+    @IgniteMXBeanDescription("Percentage of time this node is busy executing 
jobs vs. idling.")
     public float getBusyTimePercentage();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Percentage of time this node is idling vs. 
executing jobs.")
+    @IgniteMXBeanDescription("Percentage of time this node is idling vs. 
executing jobs.")
     public float getIdleTimePercentage();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("The number of CPUs available to the Java Virtual 
Machine.")
+    @IgniteMXBeanDescription("The number of CPUs available to the Java Virtual 
Machine.")
     public int getTotalCpus();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("The system load average; or a negative value if 
not available.")
+    @IgniteMXBeanDescription("The system load average; or a negative value if 
not available.")
     public double getCurrentCpuLoad();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average of CPU load values over all metrics kept 
in the history.")
+    @IgniteMXBeanDescription("Average of CPU load values over all metrics kept 
in the history.")
     public double getAverageCpuLoad();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Average time spent in CG since the last update.")
+    @IgniteMXBeanDescription("Average time spent in CG since the last update.")
     public double getCurrentGcCpuLoad();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("The initial size of memory in bytes; -1 if 
undefined.")
+    @IgniteMXBeanDescription("The initial size of memory in bytes; -1 if 
undefined.")
     public long getHeapMemoryInitialized();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Current heap size that is used for object 
allocation.")
+    @IgniteMXBeanDescription("Current heap size that is used for object 
allocation.")
     public long getHeapMemoryUsed();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("The amount of committed memory in bytes.")
+    @IgniteMXBeanDescription("The amount of committed memory in bytes.")
     public long getHeapMemoryCommitted();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("The maximum amount of memory in bytes; -1 if 
undefined.")
+    @IgniteMXBeanDescription("The maximum amount of memory in bytes; -1 if 
undefined.")
     public long getHeapMemoryMaximum();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("The initial size of memory in bytes; -1 if 
undefined.")
+    @IgniteMXBeanDescription("The initial size of memory in bytes; -1 if 
undefined.")
     public long getNonHeapMemoryInitialized();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Current non-heap memory size that is used by Java 
VM.")
+    @IgniteMXBeanDescription("Current non-heap memory size that is used by 
Java VM.")
     public long getNonHeapMemoryUsed();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Amount of non-heap memory in bytes that is 
committed for the JVM to use.")
+    @IgniteMXBeanDescription("Amount of non-heap memory in bytes that is 
committed for the JVM to use.")
     public long getNonHeapMemoryCommitted();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Maximum amount of non-heap memory in bytes that 
can " +
+    @IgniteMXBeanDescription("Maximum amount of non-heap memory in bytes that 
can " +
         "be used for memory management. -1 if undefined.")
     public long getNonHeapMemoryMaximum();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Uptime of the JVM in milliseconds.")
+    @IgniteMXBeanDescription("Uptime of the JVM in milliseconds.")
     public long getUpTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Start time of the JVM in milliseconds.")
+    @IgniteMXBeanDescription("Start time of the JVM in milliseconds.")
     public long getStartTime();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Current number of live threads.")
+    @IgniteMXBeanDescription("Current number of live threads.")
     public int getCurrentThreadCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("The peak live thread count.")
+    @IgniteMXBeanDescription("The peak live thread count.")
     public int getMaximumThreadCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("The total number of threads started.")
+    @IgniteMXBeanDescription("The total number of threads started.")
     public long getTotalStartedThreadCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Current number of live daemon threads.")
+    @IgniteMXBeanDescription("Current number of live daemon threads.")
     public int getCurrentDaemonThreadCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Last data version.")
+    @IgniteMXBeanDescription("Last data version.")
     public long getLastDataVersion();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Sent messages count.")
+    @IgniteMXBeanDescription("Sent messages count.")
     public int getSentMessagesCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Sent bytes count.")
+    @IgniteMXBeanDescription("Sent bytes count.")
     public long getSentBytesCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Received messages count.")
+    @IgniteMXBeanDescription("Received messages count.")
     public int getReceivedMessagesCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Received bytes count.")
+    @IgniteMXBeanDescription("Received bytes count.")
     public long getReceivedBytesCount();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Outbound messages queue size.")
+    @IgniteMXBeanDescription("Outbound messages queue size.")
     public int getOutboundMessagesQueueSize();
 
     /** {@inheritDoc} */
-    @IgniteMBeanDescription("Start time of the grid node in milliseconds.")
+    @IgniteMXBeanDescription("Start time of the grid node in milliseconds.")
     public long getNodeStartTime();
 }

Reply via email to