[jboss-cvs] JBoss Messaging SVN: r4885 - in trunk: src/main/org/jboss/messaging/core/management and 5 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Aug 28 06:03:45 EDT 2008
Author: jmesnil
Date: 2008-08-28 06:03:45 -0400 (Thu, 28 Aug 2008)
New Revision: 4885
Added:
trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterHelper.java
Modified:
trunk/src/config/jbm-beans.xml
trunk/src/config/jbm-standalone-beans.xml
trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java
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/management/impl/QueueControl.java
trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java
trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java
trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java
trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSManagementServiceImplTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSQueueControlTest.java
Log:
JBMESSAGING-1410: Reenable message counters
- aadded operations to list message counters and their history to JMSQueueControlMBean
Modified: trunk/src/config/jbm-beans.xml
===================================================================
--- trunk/src/config/jbm-beans.xml 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/src/config/jbm-beans.xml 2008-08-28 10:03:45 UTC (rev 4885)
@@ -134,6 +134,9 @@
<parameter>
<inject bean="Configuration" property="JMXManagementEnabled" />
</parameter>
+ <parameter>
+ <inject bean="ManagementService" property="messageCounterManager" />
+ </parameter>
</constructor>
</bean>
Modified: trunk/src/config/jbm-standalone-beans.xml
===================================================================
--- trunk/src/config/jbm-standalone-beans.xml 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/src/config/jbm-standalone-beans.xml 2008-08-28 10:03:45 UTC (rev 4885)
@@ -153,6 +153,9 @@
<parameter>
<inject bean="Configuration" property="JMXManagementEnabled" />
</parameter>
+ <parameter>
+ <inject bean="ManagementService" property="messageCounterManager" />
+ </parameter>
</constructor>
</bean>
Modified: trunk/src/main/org/jboss/messaging/core/management/ManagementService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/ManagementService.java 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/src/main/org/jboss/messaging/core/management/ManagementService.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -25,6 +25,7 @@
import java.util.Set;
import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.messagecounter.MessageCounterManager;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.security.Role;
@@ -42,6 +43,8 @@
*/
public interface ManagementService
{
+ MessageCounterManager getMessageCounterManager();
+
MessagingServerControlMBean registerServer(PostOffice postOffice, StorageManager storageManager,
Configuration configuration,
HierarchicalRepository<Set<Role>> securityRepository,
Modified: trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/src/main/org/jboss/messaging/core/management/MessagingServerControlMBean.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -129,4 +129,7 @@
void disableMessageCounters();
+ void resetAllMessageCounters();
+
+ void resetAllMessageCounterHistories();
}
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -106,8 +106,13 @@
// Public --------------------------------------------------------
- // ManagementRegistration implementation -------------------------
+ // ManagementService implementation -------------------------
+ public MessageCounterManager getMessageCounterManager()
+ {
+ return messageCounterManager;
+ }
+
public MessagingServerControlMBean registerServer(PostOffice postOffice,
StorageManager storageManager, Configuration configuration,
HierarchicalRepository<Set<Role>> securityRepository,
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/MessagingServerControl.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -386,6 +386,16 @@
setEnableMessageCounters(false);
}
+ public void resetAllMessageCounters()
+ {
+ messageCounterManager.resetAllCounters();
+ }
+
+ public void resetAllMessageCounterHistories()
+ {
+ messageCounterManager.resetAllCounterHistories();
+ }
+
public boolean isEnableMessageCounters()
{
return enableMessageCounters;
Modified: trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.java 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/QueueControl.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -26,7 +26,6 @@
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
-import java.util.StringTokenizer;
import javax.management.MBeanInfo;
import javax.management.NotCompliantMBeanException;
@@ -43,6 +42,7 @@
import org.jboss.messaging.core.management.QueueControlMBean;
import org.jboss.messaging.core.messagecounter.MessageCounter;
import org.jboss.messaging.core.messagecounter.MessageCounter.DayCounter;
+import org.jboss.messaging.core.messagecounter.impl.MessageCounterHelper;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.Binding;
import org.jboss.messaging.core.postoffice.PostOffice;
@@ -308,7 +308,7 @@
public String listMessageCounterAsHTML()
{
- return listMessageCounterAsHTML(new MessageCounter[] { counter });
+ return MessageCounterHelper.listMessageCounterAsHTML(new MessageCounter[] { counter });
}
public TabularData listMessageCounterHistory() throws Exception
@@ -336,7 +336,7 @@
public String listMessageCounterHistoryAsHTML()
{
- return listMessageCounterHistoryAsHTML(new MessageCounter[] { counter });
+ return MessageCounterHelper.listMessageCounterHistoryAsHTML(new MessageCounter[] { counter });
}
// StandardMBean overrides ---------------------------------------
@@ -357,133 +357,5 @@
// Private -------------------------------------------------------
- private String listMessageCounterAsHTML(MessageCounter[] counters)
- {
- if (counters == null)
- return null;
-
- String ret = "<table width=\"100%\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">"
- + "<tr>"
- + "<th>Type</th>"
- + "<th>Name</th>"
- + "<th>Subscription</th>"
- + "<th>Durable</th>"
- + "<th>Count</th>"
- + "<th>CountDelta</th>"
- + "<th>Depth</th>"
- + "<th>DepthDelta</th>"
- + "<th>Last Add</th>" + "</tr>";
-
- for (int i = 0; i < counters.length; i++)
- {
- String data = counters[i].getCounterAsString();
- StringTokenizer token = new StringTokenizer(data, ",");
- String value;
-
- ret += "<tr bgcolor=\"#" + ((i % 2) == 0 ? "FFFFFF" : "F0F0F0")
- + "\">";
-
- ret += "<td>" + token.nextToken() + "</td>"; // type
- ret += "<td>" + token.nextToken() + "</td>"; // name
- ret += "<td>" + token.nextToken() + "</td>"; // subscription
- ret += "<td>" + token.nextToken() + "</td>"; // durable
-
- ret += "<td>" + token.nextToken() + "</td>"; // count
-
- value = token.nextToken(); // countDelta
-
- if (value.equalsIgnoreCase("0"))
- value = "-";
-
- ret += "<td>" + value + "</td>";
-
- ret += "<td>" + token.nextToken() + "</td>"; // depth
-
- value = token.nextToken(); // depthDelta
-
- if (value.equalsIgnoreCase("0"))
- value = "-";
-
- ret += "<td>" + value + "</td>";
-
- ret += "<td>" + token.nextToken() + "</td>"; // date last add
-
- ret += "</tr>";
- }
-
- ret += "</table>";
-
- return ret;
- }
-
- private String listMessageCounterHistoryAsHTML(MessageCounter[] counters)
- {
- if (counters == null)
- return null;
-
- String ret = "";
-
- for (int i = 0; i < counters.length; i++)
- {
- // destination name
- ret += (counters[i].getDestinationTopic() ? "Topic '" : "Queue '");
- ret += counters[i].getDestinationName() + "'";
-
- if (counters[i].getDestinationSubscription() != null)
- ret += "Subscription '" + counters[i].getDestinationSubscription()
- + "'";
-
- // table header
- ret += "<table width=\"100%\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">"
- + "<tr>" + "<th>Date</th>";
-
- for (int j = 0; j < 24; j++)
- ret += "<th width=\"4%\">" + j + "</th>";
-
- ret += "<th>Total</th></tr>";
-
- // get history data as CSV string
- StringTokenizer tokens = new StringTokenizer(counters[i]
- .getHistoryAsString(), ",\n");
-
- // get history day count
- int days = Integer.parseInt(tokens.nextToken());
-
- for (int j = 0; j < days; j++)
- {
- // next day counter row
- ret += "<tr bgcolor=\"#" + ((j % 2) == 0 ? "FFFFFF" : "F0F0F0")
- + "\">";
-
- // date
- ret += "<td>" + tokens.nextToken() + "</td>";
-
- // 24 hour counters
- int total = 0;
-
- for (int k = 0; k < 24; k++)
- {
- int value = Integer.parseInt(tokens.nextToken().trim());
-
- if (value == -1)
- {
- ret += "<td></td>";
- } else
- {
- ret += "<td>" + value + "</td>";
-
- total += value;
- }
- }
-
- ret += "<td>" + total + "</td></tr>";
- }
-
- ret += "</table><br><br>";
- }
-
- return ret;
- }
-
// Inner classes -------------------------------------------------
}
Added: trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterHelper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterHelper.java (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/messagecounter/impl/MessageCounterHelper.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -0,0 +1,182 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.messaging.core.messagecounter.impl;
+
+import java.util.StringTokenizer;
+
+import org.jboss.messaging.core.messagecounter.MessageCounter;
+
+/**
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ * @version <tt>$Revision$</tt>
+ *
+ */
+public class MessageCounterHelper
+{
+ // Constants -----------------------------------------------------
+
+ // Attributes ----------------------------------------------------
+
+ // Static --------------------------------------------------------
+
+ // Constructors --------------------------------------------------
+
+ // Public --------------------------------------------------------
+
+ public static String listMessageCounterAsHTML(MessageCounter[] counters)
+ {
+ if (counters == null)
+ return null;
+
+ String ret = "<table width=\"100%\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">"
+ + "<tr>"
+ + "<th>Type</th>"
+ + "<th>Name</th>"
+ + "<th>Subscription</th>"
+ + "<th>Durable</th>"
+ + "<th>Count</th>"
+ + "<th>CountDelta</th>"
+ + "<th>Depth</th>"
+ + "<th>DepthDelta</th>"
+ + "<th>Last Add</th>" + "</tr>";
+
+ for (int i = 0; i < counters.length; i++)
+ {
+ String data = counters[i].getCounterAsString();
+ StringTokenizer token = new StringTokenizer(data, ",");
+ String value;
+
+ ret += "<tr bgcolor=\"#" + ((i % 2) == 0 ? "FFFFFF" : "F0F0F0")
+ + "\">";
+
+ ret += "<td>" + token.nextToken() + "</td>"; // type
+ ret += "<td>" + token.nextToken() + "</td>"; // name
+ ret += "<td>" + token.nextToken() + "</td>"; // subscription
+ ret += "<td>" + token.nextToken() + "</td>"; // durable
+
+ ret += "<td>" + token.nextToken() + "</td>"; // count
+
+ value = token.nextToken(); // countDelta
+
+ if (value.equalsIgnoreCase("0"))
+ value = "-";
+
+ ret += "<td>" + value + "</td>";
+
+ ret += "<td>" + token.nextToken() + "</td>"; // depth
+
+ value = token.nextToken(); // depthDelta
+
+ if (value.equalsIgnoreCase("0"))
+ value = "-";
+
+ ret += "<td>" + value + "</td>";
+
+ ret += "<td>" + token.nextToken() + "</td>"; // date last add
+
+ ret += "</tr>";
+ }
+
+ ret += "</table>";
+
+ return ret;
+ }
+
+ public static String listMessageCounterHistoryAsHTML(MessageCounter[] counters)
+ {
+ if (counters == null)
+ return null;
+
+ String ret = "";
+
+ for (int i = 0; i < counters.length; i++)
+ {
+ // destination name
+ ret += (counters[i].getDestinationTopic() ? "Topic '" : "Queue '");
+ ret += counters[i].getDestinationName() + "'";
+
+ if (counters[i].getDestinationSubscription() != null)
+ ret += "Subscription '" + counters[i].getDestinationSubscription()
+ + "'";
+
+ // table header
+ ret += "<table width=\"100%\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">"
+ + "<tr>" + "<th>Date</th>";
+
+ for (int j = 0; j < 24; j++)
+ ret += "<th width=\"4%\">" + j + "</th>";
+
+ ret += "<th>Total</th></tr>";
+
+ // get history data as CSV string
+ StringTokenizer tokens = new StringTokenizer(counters[i]
+ .getHistoryAsString(), ",\n");
+
+ // get history day count
+ int days = Integer.parseInt(tokens.nextToken());
+
+ for (int j = 0; j < days; j++)
+ {
+ // next day counter row
+ ret += "<tr bgcolor=\"#" + ((j % 2) == 0 ? "FFFFFF" : "F0F0F0")
+ + "\">";
+
+ // date
+ ret += "<td>" + tokens.nextToken() + "</td>";
+
+ // 24 hour counters
+ int total = 0;
+
+ for (int k = 0; k < 24; k++)
+ {
+ int value = Integer.parseInt(tokens.nextToken().trim());
+
+ if (value == -1)
+ {
+ ret += "<td></td>";
+ } else
+ {
+ ret += "<td>" + value + "</td>";
+
+ total += value;
+ }
+ }
+
+ ret += "<td>" + total + "</td></tr>";
+ }
+
+ ret += "</table><br><br>";
+ }
+
+ return ret;
+ }
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/JMSQueueControlMBean.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -25,6 +25,7 @@
import static javax.management.MBeanOperationInfo.ACTION;
import static javax.management.MBeanOperationInfo.INFO;
+import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
import org.jboss.messaging.core.management.Operation;
@@ -105,4 +106,13 @@
@Parameter(name = "newPriority", desc = "the new priority (between 0 and 9)") int newPriority)
throws Exception;
+ CompositeData listMessageCounter();
+
+ String listMessageCounterAsHTML();
+
+ TabularData listMessageCounterHistory() throws Exception;
+
+ String listMessageCounterHistoryAsHTML();
+
+
}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSManagementServiceImpl.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -30,6 +30,8 @@
import javax.management.ObjectName;
import org.jboss.messaging.core.management.impl.ManagementServiceImpl;
+import org.jboss.messaging.core.messagecounter.MessageCounter;
+import org.jboss.messaging.core.messagecounter.MessageCounterManager;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.Queue;
@@ -56,6 +58,7 @@
public final MBeanServer mbeanServer;
private final boolean jmxManagementEnabled;
+ private final MessageCounterManager messageCounterManager;
private Map<ObjectName, Object> registry;
// Static --------------------------------------------------------
@@ -90,11 +93,12 @@
// Constructors --------------------------------------------------
public JMSManagementServiceImpl(final MBeanServer mbeanServer,
- final boolean jmxManagementEnabled)
+ final boolean jmxManagementEnabled, final MessageCounterManager messageCounterManager)
{
this.mbeanServer = mbeanServer;
this.jmxManagementEnabled = jmxManagementEnabled;
this.registry = new HashMap<ObjectName, Object>();
+ this.messageCounterManager = messageCounterManager;
}
// Public --------------------------------------------------------
@@ -123,9 +127,12 @@
HierarchicalRepository<QueueSettings> queueSettingsRepository)
throws Exception
{
+ MessageCounter counter = new MessageCounter(queue.getName(), null, coreQueue, false, coreQueue.isDurable(),
+ messageCounterManager.getMaxDayCount());
+ messageCounterManager.registerMessageCounter(queue.getName(), counter);
ObjectName objectName = getJMSQueueObjectName(queue.getQueueName());
JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ jndiBinding, postOffice, storageManager, queueSettingsRepository, counter);
register(objectName, control);
registerInJMX(objectName, control);
}
Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSQueueControl.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -22,18 +22,28 @@
package org.jboss.messaging.jms.server.management.impl;
+import java.text.DateFormat;
import java.util.ArrayList;
+import java.util.Date;
+import java.util.GregorianCalendar;
import java.util.List;
import javax.management.MBeanInfo;
import javax.management.NotCompliantMBeanException;
import javax.management.StandardMBean;
+import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
+import org.jboss.logging.Logger;
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.filter.Filter;
import org.jboss.messaging.core.filter.impl.FilterImpl;
+import org.jboss.messaging.core.management.DayCounterInfo;
+import org.jboss.messaging.core.management.MessageCounterInfo;
import org.jboss.messaging.core.management.impl.MBeanInfoHelper;
+import org.jboss.messaging.core.messagecounter.MessageCounter;
+import org.jboss.messaging.core.messagecounter.MessageCounter.DayCounter;
+import org.jboss.messaging.core.messagecounter.impl.MessageCounterHelper;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.MessageReference;
@@ -60,14 +70,17 @@
{
// Constants -----------------------------------------------------
+ private static final Logger log = Logger.getLogger(JMSQueueControl.class);
+
// Attributes ----------------------------------------------------
private final JBossQueue managedQueue;
- private Queue coreQueue;
+ private final Queue coreQueue;
private final String binding;
private final PostOffice postOffice;
private final StorageManager storageManager;
private final HierarchicalRepository<QueueSettings> queueSettingsRepository;
+ private final MessageCounter counter;
// Static --------------------------------------------------------
@@ -83,7 +96,8 @@
public JMSQueueControl(final JBossQueue queue, final Queue coreQueue,
final String jndiBinding, final PostOffice postOffice,
final StorageManager storageManager,
- HierarchicalRepository<QueueSettings> queueSettingsRepository)
+ final HierarchicalRepository<QueueSettings> queueSettingsRepository,
+ final MessageCounter counter)
throws NotCompliantMBeanException
{
super(JMSQueueControlMBean.class);
@@ -93,6 +107,7 @@
this.postOffice = postOffice;
this.storageManager = storageManager;
this.queueSettingsRepository = queueSettingsRepository;
+ this.counter = counter;
}
// Public --------------------------------------------------------
@@ -305,6 +320,46 @@
queueSettingsRepository);
}
+ public CompositeData listMessageCounter()
+ {
+ DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT,
+ DateFormat.MEDIUM);
+ String timestamp = dateFormat.format(new Date(counter.getLastUpdate()));
+ MessageCounterInfo info = new MessageCounterInfo(counter
+ .getDestinationName(), counter.getDestinationSubscription(),
+ counter.getDestinationDurable(), counter.getCount(), counter
+ .getCountDelta(), counter.getMessageCount(), counter
+ .getMessageCountDelta(), timestamp);
+ return info.toCompositeData();
+ }
+
+ public String listMessageCounterAsHTML()
+ {
+ return MessageCounterHelper.listMessageCounterAsHTML(new MessageCounter[] { counter });
+ }
+
+ public TabularData listMessageCounterHistory() throws Exception
+ {
+ List<DayCounter> history = counter.getHistory();
+ DayCounterInfo[] infos = new DayCounterInfo[history.size()];
+ for (int i = 0; i < infos.length; i++)
+ {
+ DayCounter dayCounter = history.get(i);
+ int[] counters = dayCounter.getCounters();
+ GregorianCalendar date = dayCounter.getDate();
+
+ DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT);
+ String strData = dateFormat.format(date.getTime());
+ infos[i] = new DayCounterInfo(strData, counters);
+ }
+ return DayCounterInfo.toTabularData(infos);
+ }
+
+ public String listMessageCounterHistoryAsHTML()
+ {
+ return MessageCounterHelper.listMessageCounterHistoryAsHTML(new MessageCounter[] { counter });
+ }
+
// StandardMBean overrides ---------------------------------------
@Override
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSManagementServiceImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSManagementServiceImplTest.java 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSManagementServiceImplTest.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -39,6 +39,8 @@
import junit.framework.TestCase;
+import org.jboss.messaging.core.messagecounter.MessageCounter;
+import org.jboss.messaging.core.messagecounter.MessageCounterManager;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.Queue;
@@ -90,14 +92,15 @@
expect(
mbeanServer.registerMBean(isA(JMSServerControlMBean.class),
eq(objectName))).andReturn(objectInstance);
+ MessageCounterManager messageCounterManager = createMock(MessageCounterManager.class);
+
+ replay(mbeanServer, server, messageCounterManager);
- replay(mbeanServer, server);
-
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
- true);
+ true, messageCounterManager);
service.registerJMSServer(server);
- verify(mbeanServer, server);
+ verify(mbeanServer, server, messageCounterManager);
}
public void testRegisterAlreadyRegisteredJMSServer() throws Exception
@@ -115,14 +118,15 @@
expect(
mbeanServer.registerMBean(isA(JMSServerControlMBean.class),
eq(objectName))).andReturn(objectInstance);
+ MessageCounterManager messageCounterManager = createMock(MessageCounterManager.class);
+
+ replay(mbeanServer, server, messageCounterManager);
- replay(mbeanServer, server);
-
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
- true);
+ true, messageCounterManager);
service.registerJMSServer(server);
- verify(mbeanServer, server);
+ verify(mbeanServer, server, messageCounterManager);
}
public void testRegisterQueue() throws Exception
@@ -136,6 +140,7 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
+ expect(coreQueue.isDurable()).andReturn(true);
PostOffice postOffice = createMock(PostOffice.class);
StorageManager storageManager = createMock(StorageManager.class);
HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
@@ -145,14 +150,17 @@
expect(
mbeanServer.registerMBean(isA(JMSQueueControlMBean.class),
eq(objectName))).andReturn(objectInstance);
+ MessageCounterManager messageCounterManager = createMock(MessageCounterManager.class);
+ expect(messageCounterManager.getMaxDayCount()).andReturn(10);
+ messageCounterManager.registerMessageCounter(eq(name), isA(MessageCounter.class));
+
+ replay(mbeanServer, messageCounterManager, coreQueue, postOffice, storageManager, queueSettingsRepository);
- replay(mbeanServer, coreQueue, postOffice, storageManager, queueSettingsRepository);
-
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
- true);
+ true, messageCounterManager);
service.registerQueue(queue, coreQueue, jndiBinding, postOffice, storageManager, queueSettingsRepository);
- verify(mbeanServer, coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verify(mbeanServer, messageCounterManager, coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testRegisterAlreadyRegisteredQueue() throws Exception
@@ -166,6 +174,7 @@
JBossQueue queue = new JBossQueue(name);
Queue coreQueue = createMock(Queue.class);
+ expect(coreQueue.isDurable()).andReturn(true);
PostOffice postOffice = createMock(PostOffice.class);
StorageManager storageManager = createMock(StorageManager.class);
HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
@@ -176,14 +185,16 @@
expect(
mbeanServer.registerMBean(isA(JMSQueueControlMBean.class),
eq(objectName))).andReturn(objectInstance);
+ MessageCounterManager messageCounterManager = createMock(MessageCounterManager.class);
+ expect(messageCounterManager.getMaxDayCount()).andReturn(10);
+ messageCounterManager.registerMessageCounter(eq(name), isA(MessageCounter.class));
+ replay(mbeanServer, messageCounterManager, coreQueue, postOffice, storageManager, queueSettingsRepository);
- replay(mbeanServer, coreQueue, postOffice, storageManager, queueSettingsRepository);
-
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
- true);
+ true, messageCounterManager);
service.registerQueue(queue, coreQueue, jndiBinding, postOffice, storageManager, queueSettingsRepository);
- verify(mbeanServer, coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verify(mbeanServer, messageCounterManager, coreQueue, postOffice, storageManager, queueSettingsRepository);
}
public void testRegisterTopic() throws Exception
@@ -204,11 +215,12 @@
expect(
mbeanServer.registerMBean(isA(TopicControlMBean.class),
eq(objectName))).andReturn(objectInstance);
+ MessageCounterManager messageCounterManager = createMock(MessageCounterManager.class);
- replay(mbeanServer, postOffice, storageManager);
+ replay(mbeanServer, messageCounterManager, postOffice, storageManager);
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
- true);
+ true, messageCounterManager);
service.registerTopic(topic, jndiBinding, postOffice, storageManager);
verify(mbeanServer, postOffice, storageManager);
@@ -233,14 +245,15 @@
expect(
mbeanServer.registerMBean(isA(TopicControlMBean.class),
eq(objectName))).andReturn(objectInstance);
+ MessageCounterManager messageCounterManager = createMock(MessageCounterManager.class);
- replay(mbeanServer, postOffice, storageManager);
+ replay(mbeanServer, messageCounterManager, postOffice, storageManager);
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
- true);
+ true, messageCounterManager);
service.registerTopic(topic, jndiBinding, postOffice, storageManager);
- verify(mbeanServer, postOffice, storageManager);
+ verify(mbeanServer, messageCounterManager, postOffice, storageManager);
}
public void testRegisterConnectionFactory() throws Exception
@@ -261,14 +274,15 @@
expect(
mbeanServer.registerMBean(isA(ConnectionFactoryControlMBean.class),
eq(objectName))).andReturn(objectInstance);
+ MessageCounterManager messageCounterManager = createMock(MessageCounterManager.class);
- replay(mbeanServer, connectionFactory);
+ replay(mbeanServer, messageCounterManager, connectionFactory);
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
- true);
+ true, messageCounterManager);
service.registerConnectionFactory(name, connectionFactory, bindings);
- verify(mbeanServer, connectionFactory);
+ verify(mbeanServer, messageCounterManager, connectionFactory);
}
public void testRegisterAlreadyRegisteredConnectionFactory() throws Exception
@@ -290,14 +304,15 @@
expect(
mbeanServer.registerMBean(isA(ConnectionFactoryControlMBean.class),
eq(objectName))).andReturn(objectInstance);
+ MessageCounterManager messageCounterManager = createMock(MessageCounterManager.class);
- replay(mbeanServer, connectionFactory);
+ replay(mbeanServer, messageCounterManager, connectionFactory);
JMSManagementService service = new JMSManagementServiceImpl(mbeanServer,
- true);
+ true, messageCounterManager);
service.registerConnectionFactory(name, connectionFactory, bindings);
- verify(mbeanServer, connectionFactory);
+ verify(mbeanServer, messageCounterManager, connectionFactory);
}
// Package protected ---------------------------------------------
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSQueueControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSQueueControlTest.java 2008-08-28 03:50:18 UTC (rev 4884)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/jms/server/management/impl/JMSQueueControlTest.java 2008-08-28 10:03:45 UTC (rev 4885)
@@ -38,6 +38,7 @@
import java.util.HashSet;
import java.util.List;
+import javax.management.NotCompliantMBeanException;
import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
@@ -45,6 +46,7 @@
import org.easymock.EasyMock;
import org.jboss.messaging.core.filter.Filter;
+import org.jboss.messaging.core.messagecounter.MessageCounter;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.server.MessageReference;
@@ -64,6 +66,15 @@
*/
public class JMSQueueControlTest extends TestCase
{
+ private String jndiBinding;
+ private String name;
+ private JBossQueue queue;
+ private Queue coreQueue;
+ private PostOffice postOffice;
+ private StorageManager storageManager;
+ private HierarchicalRepository queueSettingsRepository;
+ private MessageCounter counter;
+
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
@@ -76,294 +87,165 @@
public void testGetName() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
+ replayMockedAttributes();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
-
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(name, control.getName());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetAddress() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
+ replayMockedAttributes();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
-
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(queue.getAddress(), control.getAddress());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetJNDIBinding() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
+ replayMockedAttributes();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
-
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(jndiBinding, control.getJNDIBinding());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testIsTemporary() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
+ replayMockedAttributes();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
-
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(queue.isTemporary(), control.isTemporary());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testIsClustered() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
boolean clustered = randomBoolean();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
expect(coreQueue.isClustered()).andReturn(clustered);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(clustered, control.isClustered());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testIsDurabled() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
boolean durable = randomBoolean();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
expect(coreQueue.isDurable()).andReturn(durable);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(durable, control.isDurable());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetMessageCount() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
int count = randomInt();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getMessageCount()).andReturn(count);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(count, control.getMessageCount());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetMessagesAdded() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
int count = randomInt();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getMessagesAdded()).andReturn(count);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(count, control.getMessagesAdded());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetConsumerCount() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
int count = randomInt();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getConsumerCount()).andReturn(count);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(count, control.getConsumerCount());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetDeliveringCount() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
int count = randomInt();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getDeliveringCount()).andReturn(count);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(count, control.getDeliveringCount());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetMaxSizeBytes() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
int size = randomInt();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getMaxSizeBytes()).andReturn(size);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(size, control.getMaxSizeBytes());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetSizeBytes() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
int size = randomInt();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getSizeBytes()).andReturn(size);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(size, control.getSizeBytes());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetScheduledCount() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
int count = randomInt();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
expect(coreQueue.getScheduledCount()).andReturn(count);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(count, control.getScheduledCount());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetDLQ() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
final String dlq = randomString();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
-
QueueSettings settings = new QueueSettings()
{
@Override
@@ -374,27 +256,18 @@
};
expect(queueSettingsRepository.getMatch(name)).andReturn(settings);
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ replayMockedAttributes();
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(dlq, control.getDLQ());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testGetExpiryQueue() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
final String expiryQueue = randomString();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
-
QueueSettings settings = new QueueSettings()
{
@Override
@@ -406,28 +279,19 @@
};
expect(queueSettingsRepository.getMatch(name)).andReturn(settings);
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ replayMockedAttributes();
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(expiryQueue, control.getExpiryQueue());
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testRemoveMessage() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
String jmsMessageID = randomString();
long messageID = randomLong();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
-
List<MessageReference> refs = new ArrayList<MessageReference>();
MessageReference ref = createMock(MessageReference.class);
ServerMessage message = createMock(ServerMessage.class);
@@ -438,44 +302,30 @@
expect(coreQueue.deleteReference(messageID, storageManager)).andReturn(
true);
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository,
- ref, message);
+ replayMockedAttributes();
+ replay(ref, message);
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertTrue(control.removeMessage(jmsMessageID));
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository,
- ref, message);
+ verifyMockedAttributes();
+ verify(ref, message);
}
public void testRemoveAllMessages() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
-
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
coreQueue.deleteAllReferences(storageManager);
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ replayMockedAttributes();
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
control.removeAllMessages();
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testListMessages() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
-
- JBossQueue queue = new JBossQueue(name);
String filterStr = "color = 'green'";
List<MessageReference> refs = new ArrayList<MessageReference>();
MessageReference ref = createMock(MessageReference.class);
@@ -496,43 +346,29 @@
new HashSet<SimpleString>());
expect(ref.getMessage()).andReturn(message);
refs.add(ref);
- Queue coreQueue = createMock(Queue.class);
expect(coreQueue.list(isA(Filter.class))).andReturn(refs);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository,
- ref, message);
+ replayMockedAttributes();
+ replay(ref, message);
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
TabularData data = control.listMessages(filterStr);
assertEquals(1, data.size());
CompositeData info = data.get(new Object[] { message.getProperty(
new SimpleString("JMSMessageID")).toString() });
assertNotNull(info);
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository,
- ref, message);
+ verifyMockedAttributes();
+ verify(ref, message);
}
public void testListMessagesThrowsException() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
String invalidFilterStr = "this is not a valid filter";
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
try
{
control.listMessages(invalidFilterStr);
@@ -542,22 +378,14 @@
}
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testExpireMessage() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
String jmsMessageID = randomString();
long messageID = randomLong();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
-
List<MessageReference> refs = new ArrayList<MessageReference>();
MessageReference ref = createMock(MessageReference.class);
ServerMessage serverMessage = createMock(ServerMessage.class);
@@ -569,35 +397,26 @@
coreQueue.expireMessage(messageID, storageManager, postOffice,
queueSettingsRepository)).andReturn(true);
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository,
- ref, serverMessage);
+ replayMockedAttributes();
+ replay(ref, serverMessage);
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertTrue(control.expireMessage(jmsMessageID));
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository,
- ref, serverMessage);
+ verifyMockedAttributes();
+ verify(ref, serverMessage);
}
public void testExpireMessageWithNoJMSMesageID() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
String jmsMessageID = randomString();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
expect(coreQueue.list(isA(Filter.class))).andReturn(
new ArrayList<MessageReference>());
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ replayMockedAttributes();
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
try
{
control.expireMessage(jmsMessageID);
@@ -606,20 +425,13 @@
{
}
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testExpireMessages() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
long messageID = randomLong();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
List<MessageReference> refs = new ArrayList<MessageReference>();
MessageReference ref = createMock(MessageReference.class);
ServerMessage serverMessage = createMock(ServerMessage.class);
@@ -631,27 +443,21 @@
coreQueue.expireMessage(messageID, storageManager, postOffice,
queueSettingsRepository)).andReturn(true);
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
+ replayMockedAttributes();
+ replay(ref, serverMessage);
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertEquals(1, control.expireMessages("color = 'green'"));
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
+ verifyMockedAttributes();
+ verify(ref, serverMessage);
}
public void testSendMessageToDLQ() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
String jmsMessageID = randomString();
long messageID = randomLong();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
List<MessageReference> refs = new ArrayList<MessageReference>();
MessageReference ref = createMock(MessageReference.class);
ServerMessage serverMessage = createMock(ServerMessage.class);
@@ -659,35 +465,29 @@
expect(ref.getMessage()).andReturn(serverMessage);
refs.add(ref);
expect(coreQueue.list(isA(Filter.class))).andReturn(refs);
- expect(coreQueue.sendMessageToDLQ(messageID, storageManager, postOffice, queueSettingsRepository)).andReturn(true);
-
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
+ expect(
+ coreQueue.sendMessageToDLQ(messageID, storageManager, postOffice,
+ queueSettingsRepository)).andReturn(true);
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ replayMockedAttributes();
+ replay(ref, serverMessage);
+
+ JMSQueueControl control = createControl();
assertTrue(control.sendMessageToDLQ(jmsMessageID));
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
+ verifyMockedAttributes();
+ verify(ref, serverMessage);
}
public void testSendMessageToDLQWithNoJMSMessageID() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
String jmsMessageID = randomString();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
expect(coreQueue.list(isA(Filter.class))).andReturn(
new ArrayList<MessageReference>());
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
try
{
control.sendMessageToDLQ(jmsMessageID);
@@ -696,22 +496,15 @@
{
}
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testChangeMessagePriority() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
byte newPriority = 5;
String jmsMessageID = randomString();
long messageID = randomLong();
-
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+
List<MessageReference> refs = new ArrayList<MessageReference>();
MessageReference ref = createMock(MessageReference.class);
ServerMessage serverMessage = createMock(ServerMessage.class);
@@ -719,34 +512,29 @@
expect(ref.getMessage()).andReturn(serverMessage);
refs.add(ref);
expect(coreQueue.list(isA(Filter.class))).andReturn(refs);
- expect(coreQueue.changeMessagePriority(messageID, newPriority, storageManager, postOffice, queueSettingsRepository)).andReturn(true);
+ expect(
+ coreQueue.changeMessagePriority(messageID, newPriority,
+ storageManager, postOffice, queueSettingsRepository))
+ .andReturn(true);
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
+ replayMockedAttributes();
+ replay(ref, serverMessage);
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
assertTrue(control.changeMessagePriority(jmsMessageID, newPriority));
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository, ref, serverMessage);
+ verifyMockedAttributes();
+ verify(ref, serverMessage);
}
public void testChangeMessagePriorityWithInvalidPriorityValues()
throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
String jmsMessageID = randomString();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
+ replayMockedAttributes();
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
-
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
try
{
control.changeMessagePriority(jmsMessageID, -1);
@@ -763,28 +551,20 @@
{
}
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
public void testChangeMessagePriorityWithNoJMSMessageID() throws Exception
{
- String jndiBinding = randomString();
- String name = randomString();
byte newPriority = 5;
String jmsMessageID = randomString();
- JBossQueue queue = new JBossQueue(name);
- Queue coreQueue = createMock(Queue.class);
- PostOffice postOffice = createMock(PostOffice.class);
- StorageManager storageManager = createMock(StorageManager.class);
- HierarchicalRepository<QueueSettings> queueSettingsRepository = createMock(HierarchicalRepository.class);
expect(coreQueue.list(isA(Filter.class))).andReturn(
new ArrayList<MessageReference>());
- replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ replayMockedAttributes();
- JMSQueueControl control = new JMSQueueControl(queue, coreQueue,
- jndiBinding, postOffice, storageManager, queueSettingsRepository);
+ JMSQueueControl control = createControl();
try
{
control.changeMessagePriority(jmsMessageID, newPriority);
@@ -793,14 +573,61 @@
{
}
- verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ verifyMockedAttributes();
}
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ jndiBinding = randomString();
+ name = randomString();
+
+ queue = new JBossQueue(name);
+ coreQueue = createMock(Queue.class);
+ postOffice = createMock(PostOffice.class);
+ storageManager = createMock(StorageManager.class);
+ queueSettingsRepository = createMock(HierarchicalRepository.class);
+ counter = new MessageCounter(name, null, coreQueue, false, true, 10);
+ }
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ jndiBinding = null;
+ name = null;
+ queue = null;
+ coreQueue = null;
+ postOffice = null;
+ storageManager = null;
+ queueSettingsRepository = null;
+ counter = null;
+
+ super.tearDown();
+ }
+
// Private -------------------------------------------------------
+ private JMSQueueControl createControl() throws NotCompliantMBeanException
+ {
+ return new JMSQueueControl(queue, coreQueue, jndiBinding, postOffice,
+ storageManager, queueSettingsRepository, counter);
+ }
+
+ private void replayMockedAttributes()
+ {
+ replay(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ }
+
+ private void verifyMockedAttributes()
+ {
+ verify(coreQueue, postOffice, storageManager, queueSettingsRepository);
+ }
+
// Inner classes -------------------------------------------------
}
More information about the jboss-cvs-commits
mailing list