[jboss-cvs] JBoss Messaging SVN: r2884 - in trunk: tests/src/org/jboss/test/messaging/jms/manual and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jul 12 22:53:25 EDT 2007


Author: clebert.suconic at jboss.com
Date: 2007-07-12 22:53:25 -0400 (Thu, 12 Jul 2007)
New Revision: 2884

Modified:
   trunk/src/etc/remoting/remoting-bisocket-service.xml
   trunk/tests/src/org/jboss/test/messaging/jms/manual/ManualQueueSoakTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/stress/SeveralClientsStressTest.java
Log:
http://jira.jboss.com/jira/browse/JBMESSAGING-1012

Modified: trunk/src/etc/remoting/remoting-bisocket-service.xml
===================================================================
--- trunk/src/etc/remoting/remoting-bisocket-service.xml	2007-07-12 23:36:16 UTC (rev 2883)
+++ trunk/src/etc/remoting/remoting-bisocket-service.xml	2007-07-13 02:53:25 UTC (rev 2884)
@@ -25,6 +25,8 @@
                <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
                <attribute name="serverBindPort">4457</attribute>
                <attribute name="leasePeriod">10000</attribute>
+               <attribute name="pingFrequency" isParam="true">1000</attribute>
+               <attribute name="pingWindowFactor" isParam="true">120</attribute>
                <attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
                <attribute name="serverSocketClass" isParam="true">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
                <attribute name="numberOfRetries" isParam="true">1</attribute>

Modified: trunk/tests/src/org/jboss/test/messaging/jms/manual/ManualQueueSoakTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/manual/ManualQueueSoakTest.java	2007-07-12 23:36:16 UTC (rev 2883)
+++ trunk/tests/src/org/jboss/test/messaging/jms/manual/ManualQueueSoakTest.java	2007-07-13 02:53:25 UTC (rev 2884)
@@ -87,10 +87,15 @@
    protected void setUp() throws Exception
    {
       startServer = false;
-      TEST_ALIVE_FOR = 24 * 60 * 60 * 1000; // 24 hours
+      info=false;
+      TEST_ALIVE_FOR = 8 * 60 * 60 * 1000; // 8 hours
       PRODUCER_ALIVE_FOR=5 * 60 * 1000; // 5 minutes
       CONSUMER_ALIVE_FOR=5 * 60 * 1000; // 5 minutes
 
+      NUMBER_OF_PRODUCERS=20;
+      NUMBER_OF_CONSUMERS=20;
+      LONG_WAIT_ON_PRODUCERS = false;
+
       super.setUp();
 
    }

Modified: trunk/tests/src/org/jboss/test/messaging/jms/stress/SeveralClientsStressTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/stress/SeveralClientsStressTest.java	2007-07-12 23:36:16 UTC (rev 2883)
+++ trunk/tests/src/org/jboss/test/messaging/jms/stress/SeveralClientsStressTest.java	2007-07-13 02:53:25 UTC (rev 2884)
@@ -38,8 +38,10 @@
 import javax.jms.MessageConsumer;
 import javax.jms.MessageProducer;
 import javax.jms.Message;
+import javax.jms.DeliveryMode;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.Random;
 
 /**
  * In order for this test to run, you will need to edit /etc/security/limits.conf and change your max sockets to something bigger than 1024
@@ -65,17 +67,20 @@
 
    // Attributes -----------------------------------------------------------------------------------
 
-   protected boolean info=true;
+   protected boolean info=false;
    protected boolean startServer=true;
 
    // Static ---------------------------------------------------------------------------------------
 
-   protected static long PRODUCER_ALIVE_FOR=60000; // half minute
-   protected static long CONSUMER_ALIVE_FOR=60000; // 1 minutes
+   protected static long PRODUCER_ALIVE_FOR=60000; // one minute
+   protected static long CONSUMER_ALIVE_FOR=60000; // one minutes
    protected static long TEST_ALIVE_FOR=5 * 60 * 1000; // 5 minutes
-   protected static int NUMBER_OF_PRODUCERS=300;
-   protected static int NUMBER_OF_CONSUMERS=300;
+   protected static int NUMBER_OF_PRODUCERS=100; // this should be set to 300 later
+   protected static int NUMBER_OF_CONSUMERS=100; // this should be set to 300 later
 
+   // a producer should have a long wait between each message sent?
+   protected static boolean LONG_WAIT_ON_PRODUCERS=false;
+
    protected static SynchronizedInt producedMessages = new SynchronizedInt(0);
    protected static SynchronizedInt readMessages = new SynchronizedInt(0);
 
@@ -129,8 +134,10 @@
 
       while (threads.size()>0)
       {
-         SeveralClientsStressTest.InternalMessage msg = (SeveralClientsStressTest.InternalMessage)testChannel.poll(5000);
+         SeveralClientsStressTest.InternalMessage msg = (SeveralClientsStressTest.InternalMessage)testChannel.poll(2000);
 
+         log.info("Produced:" + producedMessages.get() + " and Consumed:" + readMessages.get() + " messages");
+
          if (msg!=null)
          {
             if (info) log.info("Received message " + msg);
@@ -171,9 +178,12 @@
          }
       }
 
+      log.info("Produced:" + producedMessages.get() + " and Consumed:" + readMessages.get() + " messages");
 
       clearMessages();
 
+      log.info("Produced:" + producedMessages.get() + " and Consumed:" + readMessages.get() + " messages");
+
       assertEquals(producedMessages.get(), readMessages.get());
    }
 
@@ -218,6 +228,12 @@
          override.put(ServiceContainer.REMOTING_OBJECT_NAME,
             "clientMaxPoolSize", "600");
 
+         override.put(ServiceContainer.REMOTING_OBJECT_NAME,
+            "pingFrequency", "1000");
+
+         override.put(ServiceContainer.REMOTING_OBJECT_NAME,
+            "pingWindowFactor", "120");
+
          /* override.put(ServiceContainer.REMOTING_OBJECT_NAME,
             "leasePeriod", "60000"); */
 
@@ -310,6 +326,8 @@
          super("Producer:" + producerId, producerId, messageQueue);
       }
 
+      Random random = new Random();
+
       public void run()
       {
          try
@@ -324,8 +342,18 @@
             Connection conn = cf.createConnection();
             Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
             MessageProducer prod = sess.createProducer(queue);
-            if (info) log.info("Producer was created");
 
+            if (this.getWorkerId()%2==0)
+            {
+               if (info) log.info("Non Persistent Producer was created");
+               prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+            }
+            else
+            {
+               if (info) log.info("Persistent Producer was created");
+               prod.setDeliveryMode(DeliveryMode.PERSISTENT);
+            }
+
             long timeToFinish = System.currentTimeMillis() + PRODUCER_ALIVE_FOR;
 
             try
@@ -340,7 +368,17 @@
                   {
                      if (info) log.info("Sent " + messageSent + " Messages");
                   }
-                  sleep(100);
+
+                  if (LONG_WAIT_ON_PRODUCERS)
+                  {
+                     int waitTime = random.nextInt()%2 + 1;
+                     if (waitTime<0) waitTime*=-1;
+                     Thread.sleep(waitTime*1000); // wait 1 or 2 seconds
+                  }
+                  else
+                  {
+                     sleep(100);
+                  }
                }
                sendInternalMessage(new SeveralClientsStressTest.WorkedFinishedMessages(this));
             }
@@ -416,11 +454,13 @@
                   }
                   else
                   {
-                     readMessages.add(msgs);
-                     sess.commit();
                      break;
                   }
                }
+
+               readMessages.add(msgs);
+               sess.commit();
+
                sendInternalMessage(new SeveralClientsStressTest.WorkedFinishedMessages(this));
             }
             finally




More information about the jboss-cvs-commits mailing list