Added teh missing Javadoc Project: http://git-wip-us.apache.org/repos/asf/mina/repo Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/fbccb58c Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/fbccb58c Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/fbccb58c
Branch: refs/heads/2.0 Commit: fbccb58cc3097ce9fcb3d2de586e98cde09c96a6 Parents: f1500a3 Author: Emmanuel Lécharny <elecha...@symas.com> Authored: Mon Dec 5 00:52:25 2016 +0100 Committer: Emmanuel Lécharny <elecha...@symas.com> Committed: Mon Dec 5 00:52:25 2016 +0100 ---------------------------------------------------------------------- .../apache/mina/integration/jmx/IoFilterMBean.java | 5 +++++ .../apache/mina/integration/jmx/IoServiceMBean.java | 10 ++++++++++ .../apache/mina/integration/jmx/IoSessionMBean.java | 14 +++++++++++++- .../org/apache/mina/integration/jmx/ObjectMBean.java | 15 +++++++++++++++ 4 files changed, 43 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mina/blob/fbccb58c/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoFilterMBean.java ---------------------------------------------------------------------- diff --git a/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoFilterMBean.java b/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoFilterMBean.java index 934f528..f148731 100644 --- a/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoFilterMBean.java +++ b/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoFilterMBean.java @@ -26,6 +26,11 @@ import org.apache.mina.core.session.IoSession; */ public class IoFilterMBean extends ObjectMBean<IoFilter> { + /** + * Creates a new IoFilterMBean instance + * + * @param source The IOFilter to monitor + */ public IoFilterMBean(IoFilter source) { super(source); } http://git-wip-us.apache.org/repos/asf/mina/blob/fbccb58c/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceMBean.java ---------------------------------------------------------------------- diff --git a/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceMBean.java b/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceMBean.java index cbc1a0a..3a70690 100644 --- a/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceMBean.java +++ b/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceMBean.java @@ -42,13 +42,21 @@ public class IoServiceMBean extends ObjectMBean<IoService> { static String getSessionIdAsString(long l) { // ID in MINA is a unsigned 32-bit integer. String id = Long.toHexString(l).toUpperCase(); + while (id.length() < 8) { id = '0' + id; // padding } + id = "0x" + id; + return id; } + /** + * Creates a new IoServiceMBean instance + * + * @param source The IoService to monitor + */ public IoServiceMBean(IoService source) { super(source); } @@ -63,6 +71,7 @@ public class IoServiceMBean extends ObjectMBean<IoService> { if (name.equals("findAndRegisterSessions")) { IoSessionFinder finder = new IoSessionFinder((String) params[0]); Set<IoSession> registeredSessions = new LinkedHashSet<IoSession>(); + for (IoSession s : finder.find(getSource().getManagedSessions().values())) { try { getServer().registerMBean( @@ -91,6 +100,7 @@ public class IoServiceMBean extends ObjectMBean<IoService> { LOGGER.warn("Failed to execute '" + command + "' for: " + s, e); } } + return matches; } http://git-wip-us.apache.org/repos/asf/mina/blob/fbccb58c/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionMBean.java ---------------------------------------------------------------------- diff --git a/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionMBean.java b/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionMBean.java index a552cff..1bd623f 100644 --- a/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionMBean.java +++ b/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionMBean.java @@ -35,7 +35,11 @@ import org.apache.mina.core.session.IoSession; * @author <a href="http://mina.apache.org">Apache MINA Project</a> */ public class IoSessionMBean extends ObjectMBean<IoSession> { - + /** + * Creates a new IoSessionMBean instance + * + * @param source The IoSession to monitor + */ public IoSessionMBean(IoSession source) { super(source); } @@ -44,9 +48,11 @@ public class IoSessionMBean extends ObjectMBean<IoSession> { protected Object getAttribute0(String fqan) throws Exception { if (fqan.equals("attributes")) { Map<String, String> answer = new LinkedHashMap<String, String>(); + for (Object key : getSource().getAttributeKeys()) { answer.put(String.valueOf(key), String.valueOf(getSource().getAttribute(key))); } + return answer; } @@ -60,6 +66,7 @@ public class IoSessionMBean extends ObjectMBean<IoSession> { ObjectName filterRef = (ObjectName) params[1]; IoFilter filter = getFilter(filterRef); getSource().getFilterChain().addFirst(filterName, filter); + return null; } @@ -68,6 +75,7 @@ public class IoSessionMBean extends ObjectMBean<IoSession> { ObjectName filterRef = (ObjectName) params[1]; IoFilter filter = getFilter(filterRef); getSource().getFilterChain().addLast(filterName, filter); + return null; } @@ -86,12 +94,14 @@ public class IoSessionMBean extends ObjectMBean<IoSession> { ObjectName filterRef = (ObjectName) params[2]; IoFilter filter = getFilter(filterRef); getSource().getFilterChain().addAfter(filterBaseName, filterName, filter); + return null; } if (name.equals("removeFilter")) { String filterName = (String) params[0]; getSource().getFilterChain().remove(filterName); + return null; } @@ -100,9 +110,11 @@ public class IoSessionMBean extends ObjectMBean<IoSession> { private IoFilter getFilter(ObjectName filterRef) throws MBeanException { Object object = ObjectMBean.getSource(filterRef); + if (object == null) { throw new MBeanException(new IllegalArgumentException("MBean not found: " + filterRef)); } + if (!(object instanceof IoFilter)) { throw new MBeanException(new IllegalArgumentException("MBean '" + filterRef + "' is not an IoFilter.")); } http://git-wip-us.apache.org/repos/asf/mina/blob/fbccb58c/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/ObjectMBean.java ---------------------------------------------------------------------- diff --git a/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/ObjectMBean.java b/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/ObjectMBean.java index 8d24ba7..66839af 100644 --- a/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/ObjectMBean.java +++ b/mina-integration-jmx/src/main/java/org/apache/mina/integration/jmx/ObjectMBean.java @@ -106,6 +106,12 @@ public class ObjectMBean<T> implements ModelMBean, MBeanRegistration { private static final Map<ObjectName, Object> sources = new ConcurrentHashMap<ObjectName, Object>(); + /** + * Get the monitored object + * + * @param oname The object name + * @return The monitored object + */ public static Object getSource(ObjectName oname) { return sources.get(oname); } @@ -296,14 +302,23 @@ public class ObjectMBean<T> implements ModelMBean, MBeanRegistration { throw new IllegalStateException(); } + /** + * @return The monitored object + */ public final T getSource() { return source; } + /** + * @return The MBrean server + */ public final MBeanServer getServer() { return server; } + /** + * @return The monitored object name + */ public final ObjectName getName() { return name; }