[exo-jcr-commits] exo-jcr SVN: r2271 - in kernel/trunk/exo.kernel.container/src: main/java/org/exoplatform/container/monitor/jvm and 2 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Apr 13 03:53:42 EDT 2010
Author: nfilotto
Date: 2010-04-13 03:53:42 -0400 (Tue, 13 Apr 2010)
New Revision: 2271
Modified:
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/monitor/jvm/J2EEServerInfo.java
kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java
kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/ManagedManagementAware.java
Log:
EXOJCR-661: Now by default we use the MBeanServer from the platform
Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java 2010-04-13 07:47:05 UTC (rev 2270)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/ManageableContainer.java 2010-04-13 07:53:42 UTC (rev 2271)
@@ -34,7 +34,6 @@
import org.picocontainer.defaults.ComponentAdapterFactory;
import org.picocontainer.defaults.DuplicateComponentKeyRegistrationException;
-import java.lang.management.ManagementFactory;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -52,12 +51,7 @@
private static MBeanServer findMBeanServer()
{
J2EEServerInfo serverenv_ = new J2EEServerInfo();
- MBeanServer server = serverenv_.getMBeanServer();
- if (server == null)
- {
- server = ManagementFactory.getPlatformMBeanServer();
- }
- return server;
+ return serverenv_.getMBeanServer();
}
/** . */
Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/monitor/jvm/J2EEServerInfo.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/monitor/jvm/J2EEServerInfo.java 2010-04-13 07:47:05 UTC (rev 2270)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/monitor/jvm/J2EEServerInfo.java 2010-04-13 07:53:42 UTC (rev 2271)
@@ -19,11 +19,11 @@
package org.exoplatform.container.monitor.jvm;
import java.io.File;
+import java.lang.management.ManagementFactory;
import java.lang.reflect.Method;
import java.net.URL;
import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
/**
* @author Tuan Nguyen (tuan08 at users.sourceforge.net)
@@ -149,8 +149,11 @@
serverName_ = "standalone";
serverHome_ = System.getProperty("user.dir");
exoConfDir_ = serverHome_ + "/" + confDirName;
- mbeanServer = MBeanServerFactory.createMBeanServer();
}
+ if (mbeanServer == null)
+ {
+ mbeanServer = ManagementFactory.getPlatformMBeanServer();
+ }
String exoConfHome = System.getProperty(EXO_CONF_PARAM);
if (exoConfHome != null && exoConfHome.length() > 0)
Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java 2010-04-13 07:47:05 UTC (rev 2270)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/jmx/impl/JMXManagementProvider.java 2010-04-13 07:53:42 UTC (rev 2271)
@@ -18,11 +18,16 @@
*/
package org.exoplatform.management.jmx.impl;
+import org.exoplatform.management.jmx.annotations.NameTemplate;
import org.exoplatform.management.spi.ManagedResource;
import org.exoplatform.management.spi.ManagementProvider;
-import org.exoplatform.management.jmx.annotations.NameTemplate;
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
-import javax.management.InstanceAlreadyExistsException;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
import javax.management.InstanceNotFoundException;
import javax.management.MBeanRegistrationException;
import javax.management.MBeanServer;
@@ -30,9 +35,6 @@
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.modelmbean.ModelMBeanInfo;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.List;
/**
* @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
@@ -41,6 +43,11 @@
public class JMXManagementProvider implements ManagementProvider
{
+ /**
+ * The logger
+ */
+ private static final Log LOG = ExoLogger.getLogger("exo.kernel.container.JMXManagementProvider");
+
/** . */
private final MBeanServer server;
@@ -136,24 +143,25 @@
{
synchronized (server)
{
- try
+ if (server.isRegistered(name))
{
- server.registerMBean(mbean, name);
- }
- catch (InstanceAlreadyExistsException e)
- {
+ if (LOG.isTraceEnabled())
+ {
+ LOG.trace("The MBean '" + name + " has already been registered, it will be unregistered and then re-registered");
+ }
try
{
-
- server.unregisterMBean(name);
- server.registerMBean(mbean, name);
-
+ server.unregisterMBean(name);
}
- catch (Exception e1)
+ catch (Exception e)
{
- throw new RuntimeException("Failed to register MBean '" + name + " due to " + e.getMessage(), e);
+ throw new RuntimeException("Failed to unregister MBean '" + name + " due to " + e.getMessage(), e);
}
}
+ try
+ {
+ server.registerMBean(mbean, name);
+ }
catch (Exception e)
{
throw new RuntimeException("Failed to register MBean '" + name + " due to " + e.getMessage(), e);
Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/ManagedManagementAware.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/ManagedManagementAware.java 2010-04-13 07:47:05 UTC (rev 2270)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/ManagedManagementAware.java 2010-04-13 07:53:42 UTC (rev 2271)
@@ -43,7 +43,6 @@
public void setContext(ManagementContext context)
{
- this.context = context;
//
if (count == 0)
@@ -52,7 +51,8 @@
{
failure = new AssertionError();
}
- context.register(foo);
+ this.context = context;
+ this.context.register(foo);
count = 1;
}
else if (count == 1)
@@ -61,7 +61,7 @@
{
failure = new AssertionError();
}
- context.unregister(foo);
+ this.context.unregister(foo);
}
else
{
More information about the exo-jcr-commits
mailing list