[jboss-cvs] JBoss Messaging SVN: r8586 - in branches/Branch_1_4: tests/src/org/jboss/test/messaging/jms/server/destination and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Feb 7 05:05:48 EST 2013
Author: gaohoward
Date: 2013-02-07 05:05:48 -0500 (Thu, 07 Feb 2013)
New Revision: 8586
Modified:
branches/Branch_1_4/src/main/org/jboss/jms/server/messagecounter/MessageCounter.java
branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java
Log:
JBMESSAGING-1771
Modified: branches/Branch_1_4/src/main/org/jboss/jms/server/messagecounter/MessageCounter.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/jms/server/messagecounter/MessageCounter.java 2013-02-05 10:52:45 UTC (rev 8585)
+++ branches/Branch_1_4/src/main/org/jboss/jms/server/messagecounter/MessageCounter.java 2013-02-07 10:05:48 UTC (rev 8586)
@@ -60,7 +60,7 @@
private boolean destDurable;
// destination queue
- private Queue destQueue;
+ private transient Queue destQueue;
// counter
private int countTotal;
@@ -529,8 +529,10 @@
/**
* Internal day counter class for one day hour based counter history
*/
- private static class DayCounter
+ private static class DayCounter implements Serializable
{
+ private static final long serialVersionUID = -4239044545642311596L;
+
static final int HOURS = 24;
GregorianCalendar date = null;
Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java 2013-02-05 10:52:45 UTC (rev 8585)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java 2013-02-07 10:05:48 UTC (rev 8586)
@@ -825,7 +825,104 @@
conn.close();
}
-
+
+ //https://issues.jboss.org/browse/JBMESSAGING-1771
+ public void testMessageCounterSerializable() throws Exception
+ {
+ if (!ServerManagement.isRemote())
+ {
+ //this is remoting specific
+ return;
+ }
+
+ ServerManagement.setAttribute(ServerManagement.getServerPeerObjectName(), "MessageCounterSamplePeriod", String.valueOf(1000));
+
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "enableMessageCounters", null, null);
+
+ ServerManagement.deployQueue("QueueMessageCounter");
+
+ Queue queue = (Queue)ic.lookup("/queue/QueueMessageCounter");
+
+ ObjectName destObjectName =
+ new ObjectName("jboss.messaging.destination:service=Queue,name=QueueMessageCounter");
+
+ //Most of this is tested in ServerPeerTest
+
+ MessageCounter counter = (MessageCounter)ServerManagement.getAttribute(destObjectName, "MessageCounter");
+
+ assertNotNull(counter);
+
+ assertEquals(0, counter.getCount());
+
+ assertEquals(0, counter.getCountDelta());
+
+ assertEquals(-1, counter.getHistoryLimit());
+
+ Connection conn = cf.createConnection();
+
+ Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+ MessageProducer prod = sess.createProducer(queue);
+
+ TextMessage tm1 = sess.createTextMessage("message1");
+ prod.send(tm1);
+
+ TextMessage tm2 = sess.createTextMessage("message2");
+ prod.send(tm2);
+
+ TextMessage tm3 = sess.createTextMessage("message3");
+ prod.send(tm3);
+
+ Thread.sleep(1500);
+
+ counter = (MessageCounter)ServerManagement.getAttribute(destObjectName, "MessageCounter");
+
+ assertNotNull(counter);
+
+ MessageStatistics stats = (MessageStatistics)ServerManagement.getAttribute(destObjectName, "MessageStatistics");
+
+ assertNotNull(stats);
+
+ assertEquals(3, counter.getCount());
+
+ assertEquals(3, counter.getCountDelta());
+
+ assertEquals(3, counter.getCount());
+
+ assertEquals(0, counter.getCountDelta());
+
+ assertEquals(3, stats.getCount());
+
+ assertEquals(3, stats.getCountDelta());
+
+ assertEquals(3, stats.getDepth());
+
+ ServerManagement.invoke(destObjectName, "resetMessageCounter", null, null);
+
+ counter = (MessageCounter)ServerManagement.getAttribute(destObjectName, "MessageCounter");
+ assertEquals(0, counter.getCount());
+
+ ServerManagement.invoke(destObjectName, "resetMessageCounterHistory", null, null);
+
+ String html = (String)ServerManagement.invoke(destObjectName, "listMessageCounterHistoryAsHTML", null, null);
+
+ assertNotNull(html);
+
+ html = (String)ServerManagement.invoke(destObjectName, "listMessageCounterAsHTML", null, null);
+
+ assertNotNull(html);
+
+ assertTrue(html.indexOf("QueueMessageCounter") != -1);
+
+ ServerManagement.invoke(destObjectName, "removeAllMessages", new Object[0], new String[0]);
+
+ ServerManagement.undeployQueue("QueueMessageCounter");
+
+ ServerManagement.invoke(ServerManagement.getServerPeerObjectName(), "disableMessageCounters", null, null);
+
+ conn.close();
+ }
+
public void testConsumersCount() throws Exception
{
ServerManagement.deployQueue("QueueConsumerCount");
Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java 2013-02-05 10:52:45 UTC (rev 8585)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java 2013-02-07 10:05:48 UTC (rev 8586)
@@ -699,6 +699,10 @@
ServerManagement.setAttribute(new ObjectName(topicON), "MessageCounterHistoryDayLimit", String.valueOf(overrideLimit));
+ queueCounter = (MessageCounter)ServerManagement.getAttribute(new ObjectName(queueON), "MessageCounter");
+ counters = (List)ServerManagement.getAttribute(new ObjectName(topicON), "MessageCounters");
+ subCounter = (MessageCounter)counters.get(0);
+
assertEquals(overrideLimit, queueCounter.getHistoryLimit());
assertEquals(overrideLimit, subCounter.getHistoryLimit());
More information about the jboss-cvs-commits
mailing list