Author: julien_viet
Date: 2009-12-15 17:35:36 -0500 (Tue, 15 Dec 2009)
New Revision: 1081
Modified:
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManageableContainer.java
Log:
add the capability to obtain the list of registered component on a container
Modified:
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManageableContainer.java
===================================================================
---
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManageableContainer.java 2009-12-15
22:10:59 UTC (rev 1080)
+++
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManageableContainer.java 2009-12-15
22:35:36 UTC (rev 1081)
@@ -20,14 +20,22 @@
import org.exoplatform.container.CachingContainer;
import org.exoplatform.management.ManagementContext;
+import org.exoplatform.management.annotations.Managed;
+import org.exoplatform.management.annotations.ManagedDescription;
+import org.exoplatform.management.annotations.ManagedName;
import org.picocontainer.ComponentAdapter;
import org.picocontainer.PicoContainer;
+import org.picocontainer.PicoException;
import org.picocontainer.PicoRegistrationException;
import org.picocontainer.defaults.ComponentAdapterFactory;
import org.picocontainer.defaults.DuplicateComponentKeyRegistrationException;
+import java.util.Collection;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
import java.util.Set;
import javax.management.MBeanAttributeInfo;
@@ -77,6 +85,22 @@
init(null);
}
+ @Managed
+ @ManagedName("RegisteredComponentNames")
+ @ManagedDescription("Return the list of the registered component names")
+ public Set<String> getRegisteredComponentNames() throws PicoException
+ {
+ Set<String> names = new HashSet<String>();
+ Collection<ComponentAdapter> adapters = getComponentAdapters();
+ for (ComponentAdapter adapter : adapters)
+ {
+ Object key = adapter.getComponentKey();
+ String name = String.valueOf(key);
+ names.add(name);
+ }
+ return names;
+ }
+
private static ManageableComponentAdapterFactory getComponentAdapterFactory(
ComponentAdapterFactory componentAdapterFactory)
{
Show replies by date