[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