[jboss-cvs] JBoss Messaging SVN: r2866 - in trunk/tests/src/org/jboss/test/messaging: jms/stress and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jul 10 14:40:03 EDT 2007
Author: clebert.suconic at jboss.com
Date: 2007-07-10 14:40:03 -0400 (Tue, 10 Jul 2007)
New Revision: 2866
Added:
trunk/tests/src/org/jboss/test/messaging/jms/stress/SeveralClientsStressTest.java
Modified:
trunk/tests/src/org/jboss/test/messaging/jms/manual/ManualQueueSoakTest.java
trunk/tests/src/org/jboss/test/messaging/tools/jmx/ServiceContainer.java
Log:
http://jira.jboss.com/jira/browse/JBMESSAGING-343 - adding test
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-10 00:28:14 UTC (rev 2865)
+++ trunk/tests/src/org/jboss/test/messaging/jms/manual/ManualQueueSoakTest.java 2007-07-10 18:40:03 UTC (rev 2866)
@@ -22,7 +22,7 @@
package org.jboss.test.messaging.jms.manual;
-import org.jboss.test.messaging.MessagingTestCase;
+import org.jboss.test.messaging.jms.stress.SeveralClientsStressTest;
import org.jboss.logging.Logger;
import java.util.Properties;
import java.util.HashSet;
@@ -45,7 +45,7 @@
* @version <tt>$Revision$</tt>
* $Id$
*/
-public class ManualQueueSoakTest extends MessagingTestCase
+public class ManualQueueSoakTest extends SeveralClientsStressTest
{
// Constants ------------------------------------------------------------------------------------
@@ -55,17 +55,7 @@
// Static ---------------------------------------------------------------------------------------
- static long PRODUCER_ALIVE_FOR=60000; // 1 minutes
- static long CONSUMER_ALIVE_FOR=60000; // 1 minutes
- static long TEST_ALIVE_FOR=20000; // 10 minutes
- static int NUMBER_OF_PRODUCERS=30;
- static int NUMBER_OF_CONSUMERS=30;
-
- static SynchronizedInt producedMessages = new SynchronizedInt(0);
- static SynchronizedInt readMessages = new SynchronizedInt(0);
-
-
- static Context createContext() throws Exception
+ protected Context createContext() throws Exception
{
Properties props = new Properties();
@@ -85,113 +75,10 @@
// Public ---------------------------------------------------------------------------------------
- public void testQueue() throws Exception
- {
- Context ctx = createContext();
-
-
- HashSet<Worker> threads = new HashSet<Worker>();
-
- // A chhanel of communication between workers and the test method
- SynchronousQueue<InternalMessage> testChannel = new SynchronousQueue<InternalMessage>();
-
-
- for (int i=0; i<NUMBER_OF_PRODUCERS; i++)
- {
- threads.add(new Producer(i, testChannel));
- }
-
- for (int i=0; i<NUMBER_OF_CONSUMERS; i++)
- {
- threads.add(new Consumer(i, testChannel));
- }
-
-
- for (Worker worker: threads)
- {
- worker.start();
- }
-
- long timeToFinish = System.currentTimeMillis() + TEST_ALIVE_FOR;
-
- int numberOfProducers = NUMBER_OF_PRODUCERS;
- int numberOfConsumers = NUMBER_OF_CONSUMERS;
-
- while (threads.size()>0)
- {
- InternalMessage msg = testChannel.poll(5, TimeUnit.SECONDS);
-
- if (msg!=null)
- {
- log.info("Received message " + msg);
- if (msg instanceof WorkerFailed)
- {
- fail("Worker " + msg.getWorker() + " has failed");
- }
- else
- if (msg instanceof WorkedFinishedMessages)
- {
- WorkedFinishedMessages finished = (WorkedFinishedMessages)msg;
- if (threads.remove(finished.getWorker()))
- {
- if (System.currentTimeMillis() < timeToFinish)
- {
- if (finished.getWorker() instanceof Producer)
- {
- log.info("Scheduling new Producer " + numberOfProducers);
- Producer producer = new Producer(numberOfProducers++, testChannel);
- threads.add(producer);
- producer.start();
- }
- else
- if (finished.getWorker() instanceof Consumer)
- {
- log.info("Scheduling new Consumer " + numberOfConsumers);
- Consumer consumer = new Consumer(numberOfConsumers++, testChannel);
- threads.add(consumer);
- consumer.start();
- }
- }
- }
- else
- {
- log.warn(finished.getWorker() + " was not available on threads HashSet");
- }
- }
- }
- }
-
-
- clearMessages();
-
- assertEquals(producedMessages.get(), readMessages.get());
- }
-
-
// Package protected ----------------------------------------------------------------------------
// Protected ------------------------------------------------------------------------------------
- protected void clearMessages() throws Exception
- {
- Context ctx = createContext();
- ConnectionFactory cf = (ConnectionFactory) ctx.lookup("/ClusteredConnectionFactory");
- Connection conn = cf.createConnection();
- Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
- Queue queue = (Queue )ctx.lookup("queue/testQueue");
- MessageConsumer consumer = sess.createConsumer(queue);
-
- conn.start();
-
- while (consumer.receive(1000)!=null)
- {
- readMessages.increment();
- log.info("Received JMS message on clearMessages");
- }
-
- conn.close();
- }
-
protected void tearDown() throws Exception
{
super.tearDown();
@@ -199,10 +86,12 @@
protected void setUp() throws Exception
{
+ startServer = false;
+ TEST_ALIVE_FOR = 24 * 60 * 60 * 1000; // 24 hours
+ PRODUCER_ALIVE_FOR=5 * 60 * 1000; // 5 minutes
+ CONSUMER_ALIVE_FOR=5 * 60 * 1000; // 5 minutes
+
super.setUp();
- clearMessages();
- producedMessages = new SynchronizedInt(0);
- readMessages = new SynchronizedInt(0);
}
@@ -211,246 +100,4 @@
// Inner classes --------------------------------------------------------------------------------
- static class Worker extends Thread
- {
-
- protected Logger log = Logger.getLogger(getClass());
-
- private boolean failed=false;
- private int workerId;
- private Exception ex;
-
- SynchronousQueue<InternalMessage> messageQueue;
-
-
- public int getWorkerId()
- {
- return workerId;
- }
-
-
- public Exception getException()
- {
- return ex;
- }
-
- public boolean isFailed()
- {
- return failed;
- }
-
- protected synchronized void setFailed(boolean failed, Exception ex)
- {
- this.failed = failed;
- this.ex = ex;
-
- sendInternalMessage(new WorkerFailed(this));
-
- }
-
- protected void sendInternalMessage(InternalMessage msg)
- {
- log.info("Sending message " + msg);
- try
- {
- messageQueue.put(msg);
- }
- catch (Exception e)
- {
- log.error(e);
- setFailed(true, e);
- }
- }
-
-
- public Worker(String name, int workerId, SynchronousQueue<InternalMessage> messageQueue)
- {
- super(name);
- this.workerId = workerId;
- this.messageQueue = messageQueue;
- this.setDaemon(true);
- }
-
- public String toString()
- {
- return this.getClass().getName() + ":" + getWorkerId();
- }
- }
-
- static class Producer extends Worker
- {
- public Producer(int producerId, SynchronousQueue<InternalMessage> messageQueue)
- {
- super("Producer:" + producerId, producerId, messageQueue);
- }
-
- public void run()
- {
- try
- {
- Context ctx = createContext();
-
- ConnectionFactory cf = (ConnectionFactory) ctx.lookup("/ClusteredConnectionFactory");
-
- Queue queue = (Queue )ctx.lookup("queue/testQueue");
-
- log.info("Creating connection and producer");
- Connection conn = cf.createConnection();
- Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
- MessageProducer prod = sess.createProducer(queue);
- log.info("Producer was created");
-
- long timeToFinish = System.currentTimeMillis() + PRODUCER_ALIVE_FOR;
-
- try
- {
- int messageSent=0;
- while(System.currentTimeMillis() < timeToFinish)
- {
- prod.send(sess.createTextMessage("Message sent at " + System.currentTimeMillis()));
- producedMessages.increment();
- messageSent++;
- if (messageSent%50==0)
- {
- log.info("Sent " + messageSent + " Messages");
- }
- Thread.sleep(100);
- }
- sendInternalMessage(new WorkedFinishedMessages(this));
- }
- finally
- {
- conn.close();
- }
-
- }
- catch (Exception e)
- {
- log.error(e);
- setFailed(true, e);
- }
- }
- }
-
- static class Consumer extends Worker
- {
- public Consumer(int consumerId, SynchronousQueue<InternalMessage> messageQueue)
- {
- super("Consumer:" + consumerId, consumerId, messageQueue);
- }
-
- public void run()
- {
- try
- {
- Context ctx = createContext();
-
- ConnectionFactory cf = (ConnectionFactory) ctx.lookup("/ClusteredConnectionFactory");
-
- Queue queue = (Queue )ctx.lookup("queue/testQueue");
-
- log.info("Creating connection and consumer");
- Connection conn = cf.createConnection();
- Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
- MessageConsumer consumer = sess.createConsumer(queue);
- log.info("Consumer was created");
-
- conn.start();
-
- int msgs = 0;
-
- int transactions = 0;
-
- long timeToFinish = System.currentTimeMillis() + CONSUMER_ALIVE_FOR;
-
- try
- {
- while(System.currentTimeMillis() < timeToFinish)
- {
- Message msg = consumer.receive(1000);
- if (msg != null)
- {
- msgs ++;
- if (msgs>=50)
- {
- transactions++;
- if (transactions%2==0)
- {
- log.info("Commit transaction");
- sess.commit();
- readMessages.add(msgs);
- }
- else
- {
- log.info("Rollback transaction");
- sess.rollback();
- }
- msgs=0;
- }
- }
- else
- {
- readMessages.add(msgs);
- sess.commit();
- break;
- }
- }
- sendInternalMessage(new WorkedFinishedMessages(this));
- }
- finally
- {
- conn.close();
- }
-
- }
- catch (Exception e)
- {
- log.error(e);
- setFailed(true, e);
- }
- }
- }
-
- // Objects used on the communication between Workers and the test
- static class InternalMessage
- {
- Worker worker;
-
-
- public InternalMessage(Worker worker)
- {
- this.worker = worker;
- }
-
-
- public Worker getWorker()
- {
- return worker;
- }
-
- public String toString()
- {
- return this.getClass().getName() + " worker-> " + worker.toString();
- }
- }
-
- static class WorkedFinishedMessages extends InternalMessage
- {
-
-
- public WorkedFinishedMessages(Worker worker)
- {
- super(worker);
- }
-
- }
-
- static class WorkerFailed extends InternalMessage
- {
- public WorkerFailed(Worker worker)
- {
- super(worker);
- }
- }
-
}
Added: trunk/tests/src/org/jboss/test/messaging/jms/stress/SeveralClientsStressTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/stress/SeveralClientsStressTest.java (rev 0)
+++ trunk/tests/src/org/jboss/test/messaging/jms/stress/SeveralClientsStressTest.java 2007-07-10 18:40:03 UTC (rev 2866)
@@ -0,0 +1,483 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.test.messaging.jms.stress;
+
+import org.jboss.test.messaging.MessagingTestCase;
+import org.jboss.test.messaging.tools.ServerManagement;
+import org.jboss.test.messaging.tools.jmx.ServiceAttributeOverrides;
+import org.jboss.test.messaging.tools.jmx.ServiceContainer;
+import org.jboss.logging.Logger;
+import EDU.oswego.cs.dl.util.concurrent.SynchronizedInt;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.jms.ConnectionFactory;
+import javax.jms.Connection;
+import javax.jms.Session;
+import javax.jms.Queue;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Message;
+import javax.management.ObjectName;
+import java.util.Properties;
+import java.util.HashSet;
+import java.util.concurrent.SynchronousQueue;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 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
+ *
+ * It's required to re-login after this change.
+ *
+ * For Windows you need also to increase this limit (max opened files) somehow.
+ *
+ *
+Example of /etc/security/limits.confg:
+#<domain> <type> <item> <value>
+clebert hard nofile 10240
+
+
+ * @author <a href="mailto:clebert.suconic at jboss.org">Clebert Suconic</a>
+ * @version <tt>$Revision$</tt>
+ * $Id$
+ */
+public class SeveralClientsStressTest extends MessagingTestCase
+{
+
+ // Constants ------------------------------------------------------------------------------------
+
+ // Attributes -----------------------------------------------------------------------------------
+
+ protected boolean info=true;
+ protected boolean startServer=false;
+
+ // Static ---------------------------------------------------------------------------------------
+
+ protected static long PRODUCER_ALIVE_FOR=60000; // half minute
+ protected static long CONSUMER_ALIVE_FOR=60000; // 1 minutes
+ protected static long TEST_ALIVE_FOR=5 * 60 * 1000; // 5 minutes
+ protected static int NUMBER_OF_PRODUCERS=200;
+ protected static int NUMBER_OF_CONSUMERS=200;
+
+ protected static SynchronizedInt producedMessages = new SynchronizedInt(0);
+ protected static SynchronizedInt readMessages = new SynchronizedInt(0);
+
+
+ protected Context createContext() throws Exception
+ {
+ return new InitialContext(ServerManagement.getJNDIEnvironment());
+ }
+
+ // Constructors ---------------------------------------------------------------------------------
+
+ public SeveralClientsStressTest(String name)
+ {
+ super(name);
+ }
+
+ // Public ---------------------------------------------------------------------------------------
+
+ public void testQueue() throws Exception
+ {
+ Context ctx = createContext();
+
+
+ HashSet<Worker> threads = new HashSet<SeveralClientsStressTest.Worker>();
+
+ // A chhanel of communication between workers and the test method
+ SynchronousQueue<InternalMessage> testChannel = new SynchronousQueue<SeveralClientsStressTest.InternalMessage>();
+
+
+ for (int i=0; i< NUMBER_OF_PRODUCERS; i++)
+ {
+ threads.add(new SeveralClientsStressTest.Producer(i, testChannel));
+ }
+
+ for (int i=0; i< NUMBER_OF_CONSUMERS; i++)
+ {
+ threads.add(new SeveralClientsStressTest.Consumer(i, testChannel));
+ }
+
+
+ for (SeveralClientsStressTest.Worker worker: threads)
+ {
+ worker.start();
+ }
+
+ long timeToFinish = System.currentTimeMillis() + TEST_ALIVE_FOR;
+
+ int numberOfProducers = NUMBER_OF_PRODUCERS;
+ int numberOfConsumers = NUMBER_OF_CONSUMERS;
+
+ while (threads.size()>0)
+ {
+ SeveralClientsStressTest.InternalMessage msg = testChannel.poll(5, TimeUnit.SECONDS);
+
+ if (msg!=null)
+ {
+ if (info) log.info("Received message " + msg);
+ if (msg instanceof SeveralClientsStressTest.WorkerFailed)
+ {
+ fail("Worker " + msg.getWorker() + " has failed");
+ }
+ else
+ if (msg instanceof SeveralClientsStressTest.WorkedFinishedMessages)
+ {
+ SeveralClientsStressTest.WorkedFinishedMessages finished = (SeveralClientsStressTest.WorkedFinishedMessages)msg;
+ if (threads.remove(finished.getWorker()))
+ {
+ if (System.currentTimeMillis() < timeToFinish)
+ {
+ if (finished.getWorker() instanceof SeveralClientsStressTest.Producer)
+ {
+ if (info) log.info("Scheduling new Producer " + numberOfProducers);
+ SeveralClientsStressTest.Producer producer = new SeveralClientsStressTest.Producer(numberOfProducers++, testChannel);
+ threads.add(producer);
+ producer.start();
+ }
+ else
+ if (finished.getWorker() instanceof SeveralClientsStressTest.Consumer)
+ {
+ if (info) log.info("Scheduling new Consumer " + numberOfConsumers);
+ SeveralClientsStressTest.Consumer consumer = new SeveralClientsStressTest.Consumer(numberOfConsumers++, testChannel);
+ threads.add(consumer);
+ consumer.start();
+ }
+ }
+ }
+ else
+ {
+ log.warn(finished.getWorker() + " was not available on threads HashSet");
+ }
+ }
+ }
+ }
+
+
+ clearMessages();
+
+ assertEquals(producedMessages.get(), readMessages.get());
+ }
+
+
+ // Package protected ----------------------------------------------------------------------------
+
+ // Protected ------------------------------------------------------------------------------------
+
+ protected void clearMessages() throws Exception
+ {
+ Context ctx = createContext();
+ ConnectionFactory cf = (ConnectionFactory) ctx.lookup("/ClusteredConnectionFactory");
+ Connection conn = cf.createConnection();
+ Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Queue queue = (Queue )ctx.lookup("queue/testQueue");
+ MessageConsumer consumer = sess.createConsumer(queue);
+
+ conn.start();
+
+ while (consumer.receive(1000)!=null)
+ {
+ readMessages.increment();
+ log.info("Received JMS message on clearMessages");
+ }
+
+ conn.close();
+ }
+
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ }
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+
+ if (startServer)
+ {
+ ServiceAttributeOverrides override = new ServiceAttributeOverrides();
+ override.put(ServiceContainer.REMOTING_OBJECT_NAME,
+ "clientMaxPoolSize", "600");
+
+ override.put(ServiceContainer.REMOTING_OBJECT_NAME,
+ "leasePeriod", "60000");
+
+ ServerManagement.start(0, "all", override, true);
+ ServerManagement.deployQueue("testQueue");
+ }
+
+ clearMessages();
+ producedMessages = new SynchronizedInt(0);
+ readMessages = new SynchronizedInt(0);
+ }
+
+ // Private --------------------------------------------------------------------------------------
+
+ // Inner classes --------------------------------------------------------------------------------
+
+
+ class Worker extends Thread
+ {
+
+ protected Logger log = Logger.getLogger(getClass());
+
+ private boolean failed=false;
+ private int workerId;
+ private Exception ex;
+
+ SynchronousQueue<SeveralClientsStressTest.InternalMessage> messageQueue;
+
+
+ public int getWorkerId()
+ {
+ return workerId;
+ }
+
+
+ public Exception getException()
+ {
+ return ex;
+ }
+
+ public boolean isFailed()
+ {
+ return failed;
+ }
+
+ protected synchronized void setFailed(boolean failed, Exception ex)
+ {
+ this.failed = failed;
+ this.ex = ex;
+
+ log.info("Sending Exception", ex);
+
+ sendInternalMessage(new SeveralClientsStressTest.WorkerFailed(this));
+
+ }
+
+ protected void sendInternalMessage(SeveralClientsStressTest.InternalMessage msg)
+ {
+ if (info) log.info("Sending message " + msg);
+ try
+ {
+ messageQueue.put(msg);
+ }
+ catch (Exception e)
+ {
+ log.error(e, e);
+ setFailed(true, e);
+ }
+ }
+
+
+ public Worker(String name, int workerId, SynchronousQueue<SeveralClientsStressTest.InternalMessage> messageQueue)
+ {
+ super(name);
+ this.workerId = workerId;
+ this.messageQueue = messageQueue;
+ this.setDaemon(true);
+ }
+
+ public String toString()
+ {
+ return this.getClass().getName() + ":" + getWorkerId();
+ }
+ }
+
+ class Producer extends SeveralClientsStressTest.Worker
+ {
+ public Producer(int producerId, SynchronousQueue<SeveralClientsStressTest.InternalMessage> messageQueue)
+ {
+ super("Producer:" + producerId, producerId, messageQueue);
+ }
+
+ public void run()
+ {
+ try
+ {
+ Context ctx = createContext();
+
+ ConnectionFactory cf = (ConnectionFactory) ctx.lookup("/ClusteredConnectionFactory");
+
+ Queue queue = (Queue )ctx.lookup("queue/testQueue");
+
+ if (info) log.info("Creating connection and producer");
+ Connection conn = cf.createConnection();
+ Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ MessageProducer prod = sess.createProducer(queue);
+ if (info) log.info("Producer was created");
+
+ long timeToFinish = System.currentTimeMillis() + PRODUCER_ALIVE_FOR;
+
+ try
+ {
+ int messageSent=0;
+ while(System.currentTimeMillis() < timeToFinish)
+ {
+ prod.send(sess.createTextMessage("Message sent at " + System.currentTimeMillis()));
+ producedMessages.increment();
+ messageSent++;
+ if (messageSent%50==0)
+ {
+ if (info) log.info("Sent " + messageSent + " Messages");
+ }
+ sleep(100);
+ }
+ sendInternalMessage(new SeveralClientsStressTest.WorkedFinishedMessages(this));
+ }
+ finally
+ {
+ conn.close();
+ }
+
+ }
+ catch (Exception e)
+ {
+ log.error(e, e);
+ setFailed(true, e);
+ }
+ }
+ }
+
+ class Consumer extends SeveralClientsStressTest.Worker
+ {
+ public Consumer(int consumerId, SynchronousQueue<SeveralClientsStressTest.InternalMessage> messageQueue)
+ {
+ super("Consumer:" + consumerId, consumerId, messageQueue);
+ }
+
+ public void run()
+ {
+ try
+ {
+ Context ctx = createContext();
+
+ ConnectionFactory cf = (ConnectionFactory) ctx.lookup("/ClusteredConnectionFactory");
+
+ Queue queue = (Queue )ctx.lookup("queue/testQueue");
+
+ if (info) log.info("Creating connection and consumer");
+ Connection conn = cf.createConnection();
+ Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
+ MessageConsumer consumer = sess.createConsumer(queue);
+ if (info) log.info("Consumer was created");
+
+ conn.start();
+
+ int msgs = 0;
+
+ int transactions = 0;
+
+ long timeToFinish = System.currentTimeMillis() + CONSUMER_ALIVE_FOR;
+
+ try
+ {
+ while(System.currentTimeMillis() < timeToFinish)
+ {
+ Message msg = consumer.receive(1000);
+ if (msg != null)
+ {
+ msgs ++;
+ if (msgs>=50)
+ {
+ transactions++;
+ if (transactions%2==0)
+ {
+ if (info) log.info("Commit transaction");
+ sess.commit();
+ readMessages.add(msgs);
+ }
+ else
+ {
+ if (info) log.info("Rollback transaction");
+ sess.rollback();
+ }
+ msgs=0;
+ }
+ }
+ else
+ {
+ readMessages.add(msgs);
+ sess.commit();
+ break;
+ }
+ }
+ sendInternalMessage(new SeveralClientsStressTest.WorkedFinishedMessages(this));
+ }
+ finally
+ {
+ conn.close();
+ }
+
+ }
+ catch (Exception e)
+ {
+ log.error(e);
+ setFailed(true, e);
+ }
+ }
+ }
+
+ // Objects used on the communication between Workers and the test
+ static class InternalMessage
+ {
+ SeveralClientsStressTest.Worker worker;
+
+
+ public InternalMessage(SeveralClientsStressTest.Worker worker)
+ {
+ this.worker = worker;
+ }
+
+
+ public SeveralClientsStressTest.Worker getWorker()
+ {
+ return worker;
+ }
+
+ public String toString()
+ {
+ return this.getClass().getName() + " worker-> " + worker.toString();
+ }
+ }
+
+ static class WorkedFinishedMessages extends SeveralClientsStressTest.InternalMessage
+ {
+
+
+ public WorkedFinishedMessages(SeveralClientsStressTest.Worker worker)
+ {
+ super(worker);
+ }
+
+ }
+
+ static class WorkerFailed extends SeveralClientsStressTest.InternalMessage
+ {
+ public WorkerFailed(SeveralClientsStressTest.Worker worker)
+ {
+ super(worker);
+ }
+ }
+
+}
Property changes on: trunk/tests/src/org/jboss/test/messaging/jms/stress/SeveralClientsStressTest.java
___________________________________________________________________
Name: svn:keywords
+ Id LastChangedDate Author Revision
Modified: trunk/tests/src/org/jboss/test/messaging/tools/jmx/ServiceContainer.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/jmx/ServiceContainer.java 2007-07-10 00:28:14 UTC (rev 2865)
+++ trunk/tests/src/org/jboss/test/messaging/tools/jmx/ServiceContainer.java 2007-07-10 18:40:03 UTC (rev 2866)
@@ -1332,6 +1332,12 @@
paramsBuffer.append('&');
}
+ String valueOverride = (String)overrideMap.get(key);
+ if (valueOverride != null)
+ {
+ value = valueOverride;
+ }
+
paramsBuffer.append(key).append('=').append(value);
}
More information about the jboss-cvs-commits
mailing list