[jboss-cvs] JBoss Messaging SVN: r6420 - in trunk: src/main/org/jboss/messaging/core/messagecounter and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Apr 14 12:08:07 EDT 2009
Author: jmesnil
Date: 2009-04-14 12:08:07 -0400 (Tue, 14 Apr 2009)
New Revision: 6420
Modified:
trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
trunk/src/main/org/jboss/messaging/core/messagecounter/MessageCounterManager.java
trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterManagerImpl.java
trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java
trunk/tests/src/org/jboss/messaging/tests/integration/paging/PageCrashTest.java
Log:
management resources cleanup
* when stopping the management service, stop the message counter manager and *clear* it, otherwise the message counters will be kept in memory and they have a references to core queues object (through the QueueControls)
* start the message counter manager from the management service instead of the messaging server control (so that its lifecycle is contained within the management service class)
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2009-04-14 14:14:59 UTC (rev 6419)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2009-04-14 16:08:07 UTC (rev 6420)
@@ -119,8 +119,8 @@
private MessagingServerControl managedServer;
- private final MessageCounterManager messageCounterManager = new MessageCounterManagerImpl();
-
+ private final MessageCounterManager messageCounterManager;
+
private SimpleString managementNotificationAddress = ConfigurationImpl.DEFAULT_MANAGEMENT_NOTIFICATION_ADDRESS;
private SimpleString managementAddress = ConfigurationImpl.DEFAULT_MANAGEMENT_ADDRESS;
@@ -131,6 +131,8 @@
private boolean started = false;
+ private boolean messageCounterEnabled;
+
private boolean noticationsEnabled;
private final Set<NotificationListener> listeners = new org.jboss.messaging.utils.ConcurrentHashSet<NotificationListener>();
@@ -139,13 +141,15 @@
// Constructor ----------------------------------------------------
- public ManagementServiceImpl(final MBeanServer mbeanServer, final boolean jmxManagementEnabled)
+ public ManagementServiceImpl(final MBeanServer mbeanServer, final boolean jmxManagementEnabled, final boolean messageCounterEnabled)
{
this.mbeanServer = mbeanServer;
this.jmxManagementEnabled = jmxManagementEnabled;
+ this.messageCounterEnabled = messageCounterEnabled;
registry = new HashMap<String, Object>();
broadcaster = new NotificationBroadcasterSupport();
noticationsEnabled = true;
+ messageCounterManager = new MessageCounterManagerImpl();
}
// Public --------------------------------------------------------
@@ -520,6 +524,12 @@
replicationInvoker = new ReplicationOperationInvokerImpl(managementClusterPassword,
managementAddress,
managementRequestTimeout);
+
+ if (messageCounterEnabled)
+ {
+ messageCounterManager.start();
+ }
+
started = true;
}
@@ -540,7 +550,15 @@
mbeanServer.unregisterMBean(name);
}
}
+
+ messageCounterManager.stop();
+
+ messageCounterManager.resetAllCounters();
+
+ messageCounterManager.resetAllCounterHistories();
+ messageCounterManager.clear();
+
replicationInvoker.stop();
started = false;
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2009-04-14 14:14:59 UTC (rev 6419)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2009-04-14 16:08:07 UTC (rev 6420)
@@ -130,13 +130,8 @@
this.messageCounterManager = messageCounterManager;
this.broadcaster = broadcaster;
this.queueFactory = queueFactory;
-
- messageCounterEnabled = configuration.isMessageCounterEnabled();
- if (messageCounterEnabled)
- {
- messageCounterManager.start();
- }
this.nodeID = server.getNodeID();
+ messageCounterEnabled = configuration.isMessageCounterEnabled();
}
// Public --------------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/messagecounter/MessageCounterManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/messagecounter/MessageCounterManager.java 2009-04-14 14:14:59 UTC (rev 6419)
+++ trunk/src/main/org/jboss/messaging/core/messagecounter/MessageCounterManager.java 2009-04-14 16:08:07 UTC (rev 6420)
@@ -34,6 +34,8 @@
void stop();
+ void clear();
+
void registerMessageCounter(String name, MessageCounter counter);
MessageCounter unregisterMessageCounter(String name);
Modified: trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterManagerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterManagerImpl.java 2009-04-14 14:14:59 UTC (rev 6419)
+++ trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterManagerImpl.java 2009-04-14 16:08:07 UTC (rev 6420)
@@ -106,6 +106,11 @@
started = false;
}
+ public synchronized void clear()
+ {
+ messageCounters.clear();
+ }
+
public synchronized void reschedule(long newPeriod)
{
boolean wasStarted = this.started;
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java 2009-04-14 14:14:59 UTC (rev 6419)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java 2009-04-14 16:08:07 UTC (rev 6420)
@@ -496,7 +496,7 @@
return;
}
- managementService = new ManagementServiceImpl(mbeanServer, configuration.isJMXManagementEnabled());
+ managementService = new ManagementServiceImpl(mbeanServer, configuration.isJMXManagementEnabled(), configuration.isMessageCounterEnabled());
remotingService = new RemotingServiceImpl(configuration, this, managementService);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/paging/PageCrashTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/paging/PageCrashTest.java 2009-04-14 14:14:59 UTC (rev 6419)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/paging/PageCrashTest.java 2009-04-14 16:08:07 UTC (rev 6420)
@@ -228,7 +228,7 @@
{
JBMSecurityManager securityManager = new JBMSecurityManagerImpl();
- ManagementService managementService = new ManagementServiceImpl(ManagementFactory.getPlatformMBeanServer(), false);
+ ManagementService managementService = new ManagementServiceImpl(ManagementFactory.getPlatformMBeanServer(), false, false);
MessagingServer server = new FailingMessagingServerImpl(configuration, securityManager);
More information about the jboss-cvs-commits
mailing list