[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