[hornetq-commits] JBoss hornetq SVN: r10119 - in trunk: tests/src/org/hornetq/tests/integration/xa and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Jan 13 03:59:54 EST 2011


Author: gaohoward
Date: 2011-01-13 03:59:53 -0500 (Thu, 13 Jan 2011)
New Revision: 10119

Modified:
   trunk/src/main/org/hornetq/core/server/impl/QueueImpl.java
   trunk/tests/src/org/hornetq/tests/integration/xa/BasicXaRecoveryTest.java
   trunk/tests/src/org/hornetq/tests/util/ServiceTestBase.java
Log:
HORNETQ-609



Modified: trunk/src/main/org/hornetq/core/server/impl/QueueImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/server/impl/QueueImpl.java	2011-01-13 00:23:58 UTC (rev 10118)
+++ trunk/src/main/org/hornetq/core/server/impl/QueueImpl.java	2011-01-13 08:59:53 UTC (rev 10119)
@@ -740,6 +740,9 @@
       }
 
       getRefsOperation(tx).addAck(ref);
+      
+      //https://issues.jboss.org/browse/HORNETQ-609
+      deliveringCount.incrementAndGet();
    }
 
    private final RefsOperation getRefsOperation(final Transaction tx)

Modified: trunk/tests/src/org/hornetq/tests/integration/xa/BasicXaRecoveryTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/xa/BasicXaRecoveryTest.java	2011-01-13 00:23:58 UTC (rev 10118)
+++ trunk/tests/src/org/hornetq/tests/integration/xa/BasicXaRecoveryTest.java	2011-01-13 08:59:53 UTC (rev 10119)
@@ -16,6 +16,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
 import javax.transaction.xa.XAResource;
 import javax.transaction.xa.Xid;
 
@@ -24,6 +26,7 @@
 import org.hornetq.api.core.HornetQException;
 import org.hornetq.api.core.SimpleString;
 import org.hornetq.api.core.client.*;
+import org.hornetq.api.core.management.QueueControl;
 import org.hornetq.core.config.Configuration;
 import org.hornetq.core.logging.Logger;
 import org.hornetq.core.server.HornetQServer;
@@ -31,6 +34,7 @@
 import org.hornetq.core.transaction.impl.XidImpl;
 import org.hornetq.jms.client.HornetQBytesMessage;
 import org.hornetq.jms.client.HornetQTextMessage;
+import org.hornetq.tests.integration.management.ManagementControlHelper;
 import org.hornetq.tests.util.ServiceTestBase;
 import org.hornetq.tests.util.UnitTestCase;
 import org.hornetq.utils.UUIDGenerator;
@@ -60,6 +64,8 @@
    private final SimpleString atestq = new SimpleString("atestq");
 
    private ServerLocator locator;
+   
+   private MBeanServer mbeanServer;
 
    @Override
    protected void setUp() throws Exception
@@ -72,8 +78,11 @@
       configuration.setSecurityEnabled(false);
       configuration.setJournalMinFiles(2);
       configuration.setPagingDirectory(getPageDir());
+      configuration.setJMXManagementEnabled(true);
+      
+      mbeanServer = MBeanServerFactory.createMBeanServer();
 
-      server = createServer(true, configuration, -1, -1, addressSettings);
+      server = createServer(true, configuration, -1, -1, addressSettings, mbeanServer);
 
       // start the server
       server.start();
@@ -85,6 +94,10 @@
    @Override
    protected void tearDown() throws Exception
    {
+      MBeanServerFactory.releaseMBeanServer(mbeanServer);
+
+      mbeanServer = null;
+
       if (clientSession != null)
       {
          try
@@ -933,8 +946,20 @@
       clientSession.start();
       m = clientConsumer.receiveImmediate();
       Assert.assertNull(m);
+      
+      //check deliveringCount Zero
+      checkQueueDeliveryCount(atestq, 0);
    }
 
+   private void checkQueueDeliveryCount(SimpleString thequeue, int expectedCount) throws Exception
+   {
+      QueueControl queueControl = ManagementControlHelper.createQueueControl(thequeue, thequeue, mbeanServer);
+
+      int actualCount = queueControl.getDeliveringCount();
+      
+      assertEquals(expectedCount, actualCount);
+   }
+
    public void testBasicReceiveWithRollback(final boolean stopServer) throws Exception
    {
       Xid xid = new XidImpl("xa1".getBytes(), 1, UUIDGenerator.getInstance().generateStringUUID().getBytes());
@@ -1208,7 +1233,7 @@
       clientSession = null;
       server.stop();
       server = null;
-      server = createServer(true, configuration, -1, -1, addressSettings);
+      server = createServer(true, configuration, -1, -1, addressSettings, mbeanServer);
 
       server.start();
       createClients();

Modified: trunk/tests/src/org/hornetq/tests/util/ServiceTestBase.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/util/ServiceTestBase.java	2011-01-13 00:23:58 UTC (rev 10118)
+++ trunk/tests/src/org/hornetq/tests/util/ServiceTestBase.java	2011-01-13 08:59:53 UTC (rev 10119)
@@ -169,6 +169,38 @@
                                         final Configuration configuration,
                                         final int pageSize,
                                         final int maxAddressSize,
+                                        final Map<String, AddressSettings> settings,
+                                        final MBeanServer mbeanServer)
+   {
+      HornetQServer server;
+
+      if (realFiles)
+      {
+         server = HornetQServers.newHornetQServer(configuration, mbeanServer, true);
+      }
+      else
+      {
+         server = HornetQServers.newHornetQServer(configuration, mbeanServer, false);
+      }
+
+      for (Map.Entry<String, AddressSettings> setting : settings.entrySet())
+      {
+         server.getAddressSettingsRepository().addMatch(setting.getKey(), setting.getValue());
+      }
+
+      AddressSettings defaultSetting = new AddressSettings();
+      defaultSetting.setPageSizeBytes(pageSize);
+      defaultSetting.setMaxSizeBytes(maxAddressSize);
+
+      server.getAddressSettingsRepository().addMatch("#", defaultSetting);
+
+      return server;
+   }
+
+   protected HornetQServer createServer(final boolean realFiles,
+                                        final Configuration configuration,
+                                        final int pageSize,
+                                        final int maxAddressSize,
                                         final Map<String, AddressSettings> settings)
    {
       HornetQServer server;



More information about the hornetq-commits mailing list