[jboss-cvs] JBoss Messaging SVN: r4321 - in trunk: examples/jms and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 28 09:59:11 EDT 2008


Author: ataylor
Date: 2008-05-28 09:59:11 -0400 (Wed, 28 May 2008)
New Revision: 4321

Modified:
   trunk/build-messaging.xml
   trunk/build.xml
   trunk/examples/jms/build.xml
   trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java
   trunk/examples/jms/src/org/jboss/jms/util/PerfParams.java
Log:
added new targets for perf examples

Modified: trunk/build-messaging.xml
===================================================================
--- trunk/build-messaging.xml	2008-05-28 13:53:05 UTC (rev 4320)
+++ trunk/build-messaging.xml	2008-05-28 13:59:11 UTC (rev 4321)
@@ -779,10 +779,30 @@
       <ant dir="${examples.dir}/jms" antfile="build.xml" target="perfListener"/>
    </target>
 
+   <target name="perfAutoAckListener" depends="client-jar">
+      <ant dir="${examples.dir}/jms" antfile="build.xml" target="perfAutoAckListener"/>
+   </target>
+
+   <target name="perfDupsOKListener" depends="client-jar">
+      <ant dir="${examples.dir}/jms" antfile="build.xml" target="perfDupsOKListener"/>
+   </target>
+
+   <target name="perfTransactionalListener" depends="client-jar">
+      <ant dir="${examples.dir}/jms" antfile="build.xml" target="perfTransactionalListener"/>
+   </target>
+
    <target name="perfSender" depends="client-jar">
       <ant dir="${examples.dir}/jms" antfile="build.xml" target="perfSender"/>
    </target>
 
+   <target name="perfNonTransactionalSender" depends="client-jar">
+      <ant dir="${examples.dir}/jms" antfile="build.xml" target="perfNonTransactionalSender"/>
+   </target>
+
+   <target name="perfTransactionalSender" depends="client-jar">
+      <ant dir="${examples.dir}/jms" antfile="build.xml" target="perfTransactionalSender"/>
+   </target>
+
    <target name="SimpleClient" depends="client-jar">
       <ant dir="${examples.dir}/messaging" antfile="build.xml" target="SimpleClient"/>
    </target>

Modified: trunk/build.xml
===================================================================
--- trunk/build.xml	2008-05-28 13:53:05 UTC (rev 4320)
+++ trunk/build.xml	2008-05-28 13:59:11 UTC (rev 4321)
@@ -42,7 +42,7 @@
         parent, as project root. DO NOT change this.
    -->
    <property name="external.project" value="true"/>
-    <!--
+   <!--
         Setting "nodownload" to true inhibits downloading of up-to-date dependencies.
    -->
    <property name="nodownload" value="false"/>
@@ -63,15 +63,15 @@
    </target>
 
    <target name="clean" depends="createthirdparty">
-       <ant antfile="build-messaging.xml" target="clean"/>
+      <ant antfile="build-messaging.xml" target="clean"/>
    </target>
 
    <target name="init" depends="createthirdparty">
-       <ant antfile="build-messaging.xml" target="init"/>
+      <ant antfile="build-messaging.xml" target="init"/>
    </target>
 
    <target name="compile" depends="createthirdparty">
-       <ant antfile="build-messaging.xml" target="compile"/>
+      <ant antfile="build-messaging.xml" target="compile"/>
    </target>
 
    <target name="build-native" depends="createthirdparty">
@@ -82,11 +82,11 @@
    <!-- ======================================================================================== -->
 
    <target name="jar" depends="createthirdparty">
-       <ant antfile="build-messaging.xml" target="jar"/>
+      <ant antfile="build-messaging.xml" target="jar"/>
    </target>
 
    <target name="client-jar" depends="createthirdparty">
- <ant antfile="build-messaging.xml" target="client-jar"/>
+      <ant antfile="build-messaging.xml" target="client-jar"/>
    </target>
    <!-- ======================================================================================== -->
    <!-- Distro Tasks                                                                           -->
@@ -94,7 +94,7 @@
 
 
    <target name="distro" depends="createthirdparty">
- <ant antfile="build-messaging.xml" target="distro"/>
+      <ant antfile="build-messaging.xml" target="distro"/>
    </target>
 
 
@@ -102,23 +102,23 @@
 
 
    <target name="compile-unit-tests" depends="createthirdparty">
-       <ant antfile="build-messaging.xml" target="compile-unit-tests"/>
+      <ant antfile="build-messaging.xml" target="compile-unit-tests"/>
    </target>
 
    <target name="compile-jms-tests" depends="createthirdparty">
-       <ant antfile="build-messaging.xml" target="compile"/>
+      <ant antfile="build-messaging.xml" target="compile"/>
    </target>
 
    <target name="unit-tests" depends="createthirdparty">
-       <ant antfile="build-messaging.xml" target="unit-tests"/>
+      <ant antfile="build-messaging.xml" target="unit-tests"/>
    </target>
 
    <target name="jms-tests" depends="createthirdparty">
-       <ant antfile="build-messaging.xml" target="jms-tests"/>
+      <ant antfile="build-messaging.xml" target="jms-tests"/>
    </target>
 
    <target name="all-tests" depends="createthirdparty">
-       <ant antfile="build-messaging.xml" target="all-tests"/>
+      <ant antfile="build-messaging.xml" target="all-tests"/>
    </target>
 
    <target name="compile-reports" depends="createthirdparty">
@@ -148,10 +148,30 @@
       <ant antfile="build-messaging.xml" target="perfListener"/>
    </target>
 
+   <target name="perfAutoAckListener" depends="createthirdparty">
+      <ant antfile="build-messaging.xml" target="perfAutoAckListener"/>
+   </target>
+
+   <target name="perfDupsOKListener" depends="createthirdparty">
+      <ant antfile="build-messaging.xml" target="perfDupsOKListener"/>
+   </target>
+
+   <target name="perfTransactionalListener" depends="createthirdparty">
+      <ant antfile="build-messaging.xml" target="perfTransactionalListener"/>
+   </target>
+
    <target name="perfSender" depends="createthirdparty">
       <ant antfile="build-messaging.xml" target="perfSender"/>
    </target>
 
+   <target name="perfNonTransactionalSender" depends="createthirdparty">
+      <ant antfile="build-messaging.xml" target="perfNonTransactionalSender"/>
+   </target>
+
+   <target name="perfTransactionalSender" depends="createthirdparty">
+      <ant antfile="build-messaging.xml" target="perfTransactionalSender"/>
+   </target>
+
    <target name="SimpleClient" depends="createthirdparty">
       <ant antfile="build-messaging.xml" target="SimpleClient"/>
    </target>
@@ -160,7 +180,7 @@
       <ant antfile="build-messaging.xml" target="SSLClient"/>
    </target>
 
-    <target name="SimpleExample" depends="createthirdparty">
+   <target name="SimpleExample" depends="createthirdparty">
       <ant antfile="build-messaging.xml" target="SimpleExample"/>
    </target>
 </project>
\ No newline at end of file

Modified: trunk/examples/jms/build.xml
===================================================================
--- trunk/examples/jms/build.xml	2008-05-28 13:53:05 UTC (rev 4320)
+++ trunk/examples/jms/build.xml	2008-05-28 13:59:11 UTC (rev 4321)
@@ -44,9 +44,10 @@
    <property name="message.count" value="200000"/>
    <property name="message.warmup.count" value="10000"/>
    <property name="delivery.mode" value="NON_PERSISTENT"/>
-	<!-- in seconds -->
+   <!-- in seconds -->
    <property name="sample.period" value="1"/>
    <property name="sess.trans" value="false"/>
+   <property name="sess.ackmode" value="DUPS_OK"/>
    <property name="sess.trans.size" value="100"/>
    <property name="drain.queue" value="true"/>
    <property name="queue.lookup" value="/queue/testPerfQueue"/>
@@ -67,11 +68,11 @@
 
    <target name="help" description="-> display help">
       <echo>*****************************************************************</echo>
-      <echo>* to run examples execute one of the following                  *</echo>
-      <echo>* ant queueExample                                              *</echo>
-      <echo>* ant topicExample                                              *</echo>
-      <echo>* ant DurSubExample                                             *</echo>
-      <echo>* ant perfListener followed by ant perfSender                   *</echo>
+      <echo>* to run examples execute one of the following *</echo>
+      <echo>* ant queueExample *</echo>
+      <echo>* ant topicExample *</echo>
+      <echo>* ant DurSubExample *</echo>
+      <echo>* ant perfListener followed by ant perfSender *</echo>
       <echo>*****************************************************************</echo>
    </target>
 
@@ -86,76 +87,78 @@
 
    <target name="compile" depends="init">
       <javac srcdir="${src.dir}" destdir="${build.dir}" debug="on"
-         source="1.5">
+             source="1.5">
          <classpath refid="compile.classpath"/>
       </javac>
    </target>
 
    <target name="queueExample" depends="compile" description="-> point to point example using a queue">
       <java classname="org.jboss.jms.example.QueueExample" fork="true">
-         <classpath refid="runtime.classpath"/>      	
+         <classpath refid="runtime.classpath"/>
       </java>
    </target>
-   
-    <target name="topicExample" depends="compile" description="-> publish/subscribe example using a topic">
+
+   <target name="topicExample" depends="compile" description="-> publish/subscribe example using a topic">
       <java classname="org.jboss.jms.example.TopicExample" fork="true">
          <classpath refid="runtime.classpath"/>
       </java>
    </target>
 
-   <target name="DurSubExample" depends="compile" description="-> publish/subscribe example using a topic and a durable subscriber">
+   <target name="DurSubExample" depends="compile"
+           description="-> publish/subscribe example using a topic and a durable subscriber">
       <java classname="org.jboss.jms.example.DurableSubscriberExample" fork="true">
          <classpath refid="runtime.classpath"/>
       </java>
    </target>
 
-    <target name="echo-params">
-   	 <echo>
-***********************************************************************************
-* available parameters (-Dmessage.count=1000)
-*
-* parameter             description                      default               current
-* ---------             -----------                      -------               -------
-* message.count         number of messages               200000                ${message.count}
-* message.warmup.count  number of messages to warm up    10000                 ${message.warmup.count}
-* delivery.mode         PERSISTENT/NON_PERSISTENT        PERSISTENT            ${delivery.mode}
-* sample.period         timing period in seconds         1                     ${sample.period}
-* sess.trans            Is session transacted            true                  ${sess.trans}
-* sess.trans.size       batch size to commit             100                   ${sess.trans.size}
-* drain.queue           drain the queue (listener only)  true                  ${drain.queue}
-* queue.lookup          Queue JNDI lookup                /queue/testPerfQueue  ${queue.lookup}
-* cf.lookup             ConnectionFactory JNDI lookup    /ConnectionFactory    ${cf.lookup}
-***********************************************************************************
-   	  </echo>            
-    </target>
+   <target name="echo-params">
+      <echo>
+         ***********************************************************************************
+         * available parameters (-Dmessage.count=1000)
+         *
+         * parameter description default current
+         * --------- ----------- ------- -------
+         * message.count number of messages 200000 ${message.count}
+         * message.warmup.count number of messages to warm up 10000 ${message.warmup.count}
+         * delivery.mode PERSISTENT/NON_PERSISTENT PERSISTENT ${delivery.mode}
+         * sample.period timing period in seconds 1 ${sample.period}
+         * sess.trans Is session transacted true ${sess.trans}
+         * sess.ackmode Ack mode DUPS_OK/AUTO_ACK DUPS_OK ${sess.ackmode}
+         * sess.trans.size batch size to commit 100 ${sess.trans.size}
+         * drain.queue drain the queue (listener only) true ${drain.queue}
+         * queue.lookup Queue JNDI lookup /queue/testPerfQueue ${queue.lookup}
+         * cf.lookup ConnectionFactory JNDI lookup /ConnectionFactory ${cf.lookup}
+         ***********************************************************************************
+      </echo>
+   </target>
 
    <target name="perfListener" depends="compile" description="-> run performance test when listening to a queue">
-      <antcall target="echo-params" />
-   
-   	  <java classname="org.jboss.jms.example.PerfExample" fork="true">
+      <antcall target="echo-params"/>
+
+      <java classname="org.jboss.jms.example.PerfExample" fork="true">
          <classpath refid="runtime.classpath"/>
-      	<jvmarg value="-Xmx1024M"/>
-      	<jvmarg value="-XX:+UseParallelGC"/>
-      	<jvmarg value="-XX:+AggressiveOpts"/>
-      	<jvmarg value="-XX:+UseFastAccessorMethods"/>
-        <arg value="-l"/>
-        <arg value="${message.count}"/>
-        <arg value="${message.warmup.count}"/>
-        <arg value="${delivery.mode}"/>
-      	<arg value="${sample.period}"/>
-      	<arg value="${sess.trans}"/>
-        <arg value="${sess.trans.size}"/>
-        <arg value="${drain.queue}"/>
-        <arg value="${queue.lookup}"/>
-        <arg value="${cf.lookup}"/>
+         <jvmarg value="-Xmx1024M"/>
+         <jvmarg value="-XX:+UseParallelGC"/>
+         <jvmarg value="-XX:+AggressiveOpts"/>
+         <jvmarg value="-XX:+UseFastAccessorMethods"/>
+         <arg value="-l"/>
+         <arg value="${message.count}"/>
+         <arg value="${message.warmup.count}"/>
+         <arg value="${delivery.mode}"/>
+         <arg value="${sample.period}"/>
+         <arg value="${sess.trans}"/>
+         <arg value="${sess.trans.size}"/>
+         <arg value="${drain.queue}"/>
+         <arg value="${queue.lookup}"/>
+         <arg value="${cf.lookup}"/>
+         <arg value="${sess.ackmode}"/>
       </java>
    </target>
 
 
    <target name="perfSender" depends="compile" description="-> run performance test when sending to a queue">
-     <antcall target="echo-params" />
-
-     <java classname="org.jboss.jms.example.PerfExample" fork="true">
+      <antcall target="echo-params"/>
+      <java classname="org.jboss.jms.example.PerfExample" fork="true">
          <classpath refid="runtime.classpath"/>
          <jvmarg value="-Xmx512M"/>
          <jvmarg value="-XX:+UseParallelGC"/>
@@ -171,7 +174,40 @@
          <arg value="false"/>
          <arg value="${queue.lookup}"/>
          <arg value="${cf.lookup}"/>
+         <arg value="${sess.ackmode}"/>
       </java>
    </target>
 
+   <target name="perfNonTransactionalSender" depends="compile"
+           description="-> run performance test when sending to a queue">
+      <antcall target="perfSender">
+         <param name="sess.trans" value="false"/>
+      </antcall>
+   </target>
+
+   <target name="perfTransactionalSender" depends="compile"
+           description="-> run performance test when sending to a queue">
+      <antcall target="perfSender">
+         <param name="sess.trans" value="true"/>
+      </antcall>
+   </target>
+
+   <target name="perfAutoAckListener" depends="compile" description="-> run performance test when listening to a queue">
+      <antcall target="perfListener">
+         <param name="sess.ackmode" value="AUTO_ACK"/>
+      </antcall>
+   </target>
+
+   <target name="perfDupsOKListener" depends="compile" description="-> run performance test when listening to a queue">
+      <antcall target="perfListener">
+         <param name="sess.ackmode" value="DUPS_OK"/>
+      </antcall>
+   </target>
+
+   <target name="perfTransactionalListener" depends="compile"
+           description="-> run performance test when listening to a queue">
+      <antcall target="perfListener">
+         <param name="sess.trans" value="true"/>
+      </antcall>
+   </target>
 </project>

Modified: trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java
===================================================================
--- trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java	2008-05-28 13:53:05 UTC (rev 4320)
+++ trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java	2008-05-28 13:59:11 UTC (rev 4321)
@@ -21,19 +21,21 @@
    */
 package org.jboss.jms.example;
 
+import org.jboss.jms.util.PerfParams;
 import org.jboss.messaging.core.logging.Logger;
-import org.jboss.jms.util.PerfParams;
 
+import javax.jms.*;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
-import javax.jms.*;
-
-import java.util.concurrent.*;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
 
 /**
  * a performance example that can be used to gather simple performance figures.
- * 
+ *
  * @author <a href="ataylor at redhat.com">Andy Taylor</a>
  * @author <a href="tim.fox at jboss.com">Tim Fox</a>
  * @author <a href="clebert.suconic at jboss.com">Clebert Suconic</a>
@@ -54,7 +56,7 @@
 
       int noOfMessages = Integer.parseInt(args[1]);
       int noOfWarmupMessages = Integer.parseInt(args[2]);
-      int deliveryMode = args[3].equalsIgnoreCase("persistent")? DeliveryMode.PERSISTENT: DeliveryMode.NON_PERSISTENT;
+      int deliveryMode = args[3].equalsIgnoreCase("persistent") ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT;
       long samplePeriod = Long.parseLong(args[4]);
       boolean transacted = Boolean.parseBoolean(args[5]);
       log.info("Transacted:" + transacted);
@@ -62,7 +64,7 @@
       boolean drainQueue = Boolean.parseBoolean(args[7]);
       String queueLookup = args[8];
       String connectionFactoryLookup = args[9];
-      
+      boolean dupsok = "DUPS_OK".equalsIgnoreCase(args[10]);
       PerfParams perfParams = new PerfParams();
       perfParams.setNoOfMessagesToSend(noOfMessages);
       perfParams.setNoOfWarmupMessages(noOfWarmupMessages);
@@ -73,7 +75,8 @@
       perfParams.setDrainQueue(drainQueue);
       perfParams.setQueueLookup(queueLookup);
       perfParams.setConnectionFactoryLookup(connectionFactoryLookup);
-      
+      perfParams.setDupsOk(dupsok);
+
       if (args[0].equalsIgnoreCase("-l"))
       {
          perfExample.runListener(perfParams);
@@ -85,31 +88,31 @@
 
    }
 
-   private void init(boolean transacted, String queueLookup, String connectionFactoryLookup)
+   private void init(boolean transacted, String queueLookup, String connectionFactoryLookup, boolean dupsOk)
            throws NamingException, JMSException
    {
       InitialContext initialContext = new InitialContext();
       queue = (Queue) initialContext.lookup(queueLookup);
       ConnectionFactory cf = (ConnectionFactory) initialContext.lookup(connectionFactoryLookup);
       connection = cf.createConnection();
-      session = connection.createSession(transacted, transacted ? Session.SESSION_TRANSACTED : Session.DUPS_OK_ACKNOWLEDGE);
+      session = connection.createSession(transacted, transacted ? Session.SESSION_TRANSACTED : (dupsOk ? Session.DUPS_OK_ACKNOWLEDGE : Session.AUTO_ACKNOWLEDGE));
    }
-   
+
    public void runSender(final PerfParams perfParams)
    {
       try
       {
          log.info("params = " + perfParams);
-         init(perfParams.isSessionTransacted(), perfParams.getQueueLookup(), perfParams.getConnectionFactoryLookup());
+         init(perfParams.isSessionTransacted(), perfParams.getQueueLookup(), perfParams.getConnectionFactoryLookup(), perfParams.isDupsOk());
          log.info("warming up by sending " + perfParams.getNoOfWarmupMessages() + " messages");
-         sendMessages(perfParams.getNoOfWarmupMessages(), perfParams.getTransactionBatchSize(), perfParams.getDeliveryMode(), perfParams.isSessionTransacted());         
-         log.info("warmed up");         
+         sendMessages(perfParams.getNoOfWarmupMessages(), perfParams.getTransactionBatchSize(), perfParams.getDeliveryMode(), perfParams.isSessionTransacted());
+         log.info("warmed up");
          messageCount.set(0);
 
          scheduler.scheduleAtFixedRate(command, perfParams.getSamplePeriod(), perfParams.getSamplePeriod(), TimeUnit.SECONDS);
-         sendMessages(perfParams.getNoOfMessagesToSend(), perfParams.getTransactionBatchSize(), perfParams.getDeliveryMode(), perfParams.isSessionTransacted());         
+         sendMessages(perfParams.getNoOfMessagesToSend(), perfParams.getTransactionBatchSize(), perfParams.getDeliveryMode(), perfParams.isSessionTransacted());
          scheduler.shutdownNow();
-         
+
          log.info("average: " + (command.getAverage() / perfParams.getSamplePeriod()) + " msg/s");
       }
       catch (Exception e)
@@ -168,17 +171,17 @@
    {
       try
       {
-         init(perfParams.isSessionTransacted(), perfParams.getQueueLookup(), perfParams.getConnectionFactoryLookup());
+         init(perfParams.isSessionTransacted(), perfParams.getQueueLookup(), perfParams.getConnectionFactoryLookup(), perfParams.isDupsOk());
          MessageConsumer messageConsumer = session.createConsumer(queue);
          connection.start();
 
-         if (perfParams.isDrainQueue()) 
+         if (perfParams.isDrainQueue())
          {
             drainQueue(messageConsumer);
          }
-         
+
          log.info("READY!!!");
-         
+
          CountDownLatch countDownLatch = new CountDownLatch(1);
          messageConsumer.setMessageListener(new PerfListener(countDownLatch, perfParams));
          countDownLatch.await();
@@ -222,7 +225,7 @@
    class PerfListener implements MessageListener
    {
       private CountDownLatch countDownLatch;
-      
+
       private PerfParams perfParams;
 
       private boolean warmingUp = true;
@@ -271,7 +274,7 @@
                }
                countDownLatch.countDown();
                scheduler.shutdownNow();
-               log.info("average: " +  command.getAverage() + " msg/s" );
+               log.info("average: " + command.getAverage() + " msg/s");
             }
          }
          catch (Exception e)
@@ -279,7 +282,7 @@
             e.printStackTrace();
          }
       }
-      
+
       private boolean checkCommit() throws Exception
       {
          if (perfParams.isSessionTransacted())
@@ -287,7 +290,7 @@
             if (messageCount.longValue() % perfParams.getTransactionBatchSize() == 0)
             {
                session.commit();
-               
+
                return true;
             }
          }
@@ -301,27 +304,27 @@
    class Sampler implements Runnable
    {
       long sampleCount = 0;
-      
+
       long startTime = 0;
       long samplesTaken = 0;
 
       public void run()
-      {         
-         if(startTime == 0)
+      {
+         if (startTime == 0)
          {
             startTime = System.currentTimeMillis();
          }
          long elapsedTime = (System.currentTimeMillis() - startTime) / 1000; // in s
          long lastCount = sampleCount;
          sampleCount = messageCount.longValue();
-         log.info(String.format("time elapsed: %2ds, message count: %7d, this period: %5d", 
-                     elapsedTime, sampleCount, sampleCount - lastCount));
+         log.info(String.format("time elapsed: %2ds, message count: %7d, this period: %5d",
+                 elapsedTime, sampleCount, sampleCount - lastCount));
          samplesTaken++;
       }
-      
+
       public long getAverage()
       {
-         return sampleCount/samplesTaken;
+         return sampleCount / samplesTaken;
       }
 
    }

Modified: trunk/examples/jms/src/org/jboss/jms/util/PerfParams.java
===================================================================
--- trunk/examples/jms/src/org/jboss/jms/util/PerfParams.java	2008-05-28 13:53:05 UTC (rev 4320)
+++ trunk/examples/jms/src/org/jboss/jms/util/PerfParams.java	2008-05-28 13:59:11 UTC (rev 4321)
@@ -26,19 +26,20 @@
 
 /**
  * @author <a href="ataylor at redhat.com">Andy Taylor</a>
-*/
+ */
 public class PerfParams implements Serializable
 {
    int noOfMessagesToSend = 1000;
    int noOfWarmupMessages;
    long samplePeriod = 1; // in seconds
-   int deliveryMode  = DeliveryMode.NON_PERSISTENT;
+   int deliveryMode = DeliveryMode.NON_PERSISTENT;
    boolean isSessionTransacted = false;
    int transactionBatchSize = 5000;
    private boolean drainQueue = true;
    private String queueLookup = "/queue/testPerfQueue";
    private String connectionFactoryLookup = "/ConnectionFactory";
-   
+   private boolean dupsOk;
+
    public int getNoOfMessagesToSend()
    {
       return noOfMessagesToSend;
@@ -48,7 +49,7 @@
    {
       this.noOfMessagesToSend = noOfMessagesToSend;
    }
-   
+
    public int getNoOfWarmupMessages()
    {
       return noOfWarmupMessages;
@@ -102,40 +103,52 @@
 
    public boolean isDrainQueue()
    {
-      return drainQueue ;
+      return drainQueue;
    }
 
    public void setDrainQueue(boolean drainQueue)
    {
       this.drainQueue = drainQueue;
    }
-   
+
    public String getQueueLookup()
    {
       return queueLookup;
    }
-   
+
    public void setQueueLookup(String queueLookup)
    {
       this.queueLookup = queueLookup;
    }
-   
+
    public String getConnectionFactoryLookup()
    {
       return connectionFactoryLookup;
    }
-   
+
    public void setConnectionFactoryLookup(String connectionFactoryLookup)
    {
       this.connectionFactoryLookup = connectionFactoryLookup;
    }
-   
+
+   public boolean isDupsOk()
+   {
+      return dupsOk;
+   }
+
+   public void setDupsOk(boolean dupsOk)
+   {
+      this.dupsOk = dupsOk;
+   }
+
    public String toString()
    {
       return "message to send = " + noOfMessagesToSend + ", samplePeriod = " + samplePeriod + "s" + ", DeliveryMode = " +
-              (deliveryMode == DeliveryMode.PERSISTENT?"PERSISTENT":"NON_PERSISTENT") + ", session transacted = " + isSessionTransacted +
-              (isSessionTransacted?", transaction batch size = " + transactionBatchSize:"" ) + ", drain queue = " + drainQueue +
-              ", queue lookup = " + queueLookup + ", connection factory lookup = " + connectionFactoryLookup;
+              (deliveryMode == DeliveryMode.PERSISTENT ? "PERSISTENT" : "NON_PERSISTENT") + ", session transacted = " + isSessionTransacted +
+              (isSessionTransacted ? ", transaction batch size = " + transactionBatchSize : "") + ", drain queue = " + drainQueue +
+              ", queue lookup = " + queueLookup + ", connection factory lookup = " + connectionFactoryLookup +
+              ", Session Acknowledge mode = " + (dupsOk ? "DUPS_OK_ACKNOWLEDGE" : "AUTO_ACKNOWLEDGE");
    }
 
+
 }




More information about the jboss-cvs-commits mailing list