[jboss-cvs] JBoss Messaging SVN: r4337 - in trunk/examples/jms: src/org/jboss/jms/example and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 29 08:34:03 EDT 2008


Author: jmesnil
Date: 2008-05-29 08:34:03 -0400 (Thu, 29 May 2008)
New Revision: 4337

Modified:
   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:
JBMESSAGING-1343 - Some more tweaks to PerfExample:
- make the message size configurable using message.size (1024 bytes by default)

Modified: trunk/examples/jms/build.xml
===================================================================
--- trunk/examples/jms/build.xml	2008-05-29 11:01:10 UTC (rev 4336)
+++ trunk/examples/jms/build.xml	2008-05-29 12:34:03 UTC (rev 4337)
@@ -43,6 +43,8 @@
    <!--perf props-->
    <property name="message.count" value="200000"/>
    <property name="message.warmup.count" value="10000"/>
+   <!-- in bytes -->
+   <property name="message.size" value="1024"/>
    <property name="delivery.mode" value="NON_PERSISTENT"/>
    <property name="sess.trans" value="false"/>
    <property name="sess.ackmode" value="DUPS_OK"/>
@@ -118,6 +120,7 @@
 * ---------             -----------                      -------               -------
 * message.count         number of messages               200000                ${message.count}
 * message.warmup.count  number of messages to warm up    10000                 ${message.warmup.count}
+* message.size          message size (in bytes)          1024                  ${message.size}
 * delivery.mode         PERSISTENT/NON_PERSISTENT        NON_PERSISTENT        ${delivery.mode}
 * sess.trans            Is session transacted            false                 ${sess.trans}
 * sess.trans.size       batch size to commit             1000                  ${sess.trans.size}
@@ -141,6 +144,7 @@
          <arg value="-l"/>
          <arg value="${message.count}"/>
          <arg value="${message.warmup.count}"/>
+         <arg value="${message.size}"/>      	
          <arg value="${delivery.mode}"/>
          <arg value="${sess.trans}"/>
          <arg value="${sess.trans.size}"/>
@@ -163,6 +167,7 @@
          <arg value="-s"/>
          <arg value="${message.count}"/>
          <arg value="${message.warmup.count}"/>
+         <arg value="${message.size}"/>      	
          <arg value="${delivery.mode}"/>
          <arg value="${sess.trans}"/>
          <arg value="${sess.trans.size}"/>

Modified: trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java
===================================================================
--- trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java	2008-05-29 11:01:10 UTC (rev 4336)
+++ trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java	2008-05-29 12:34:03 UTC (rev 4337)
@@ -68,17 +68,19 @@
 
       int noOfMessages = Integer.parseInt(args[1]);
       int noOfWarmupMessages = Integer.parseInt(args[2]);
-      int deliveryMode = args[3].equalsIgnoreCase("persistent") ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT;
-      boolean transacted = Boolean.parseBoolean(args[4]);
-      int transactionBatchSize = Integer.parseInt(args[5]);
-      boolean dupsok = "DUPS_OK".equalsIgnoreCase(args[6]);
-      boolean drainQueue = Boolean.parseBoolean(args[7]);
-      String queueLookup = args[8];
-      String connectionFactoryLookup = args[9];
+      int messageSize = Integer.parseInt(args[3]);
+      int deliveryMode = args[4].equalsIgnoreCase("persistent") ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT;
+      boolean transacted = Boolean.parseBoolean(args[5]);
+      int transactionBatchSize = Integer.parseInt(args[6]);
+      boolean dupsok = "DUPS_OK".equalsIgnoreCase(args[7]);
+      boolean drainQueue = Boolean.parseBoolean(args[8]);
+      String queueLookup = args[9];
+      String connectionFactoryLookup = args[10];
 
       PerfParams perfParams = new PerfParams();
       perfParams.setNoOfMessagesToSend(noOfMessages);
       perfParams.setNoOfWarmupMessages(noOfWarmupMessages);
+      perfParams.setMessageSize(messageSize);
       perfParams.setDeliveryMode(deliveryMode);
       perfParams.setSessionTransacted(transacted);
       perfParams.setTransactionBatchSize(transactionBatchSize);
@@ -122,10 +124,10 @@
          init(perfParams.isSessionTransacted(), perfParams.getQueueLookup(), perfParams.getConnectionFactoryLookup(), perfParams.isDupsOk());
          start = System.currentTimeMillis();
          log.info("warming up by sending " + perfParams.getNoOfWarmupMessages() + " messages");
-         sendMessages(perfParams.getNoOfWarmupMessages(), perfParams.getTransactionBatchSize(), perfParams.getDeliveryMode(), perfParams.isSessionTransacted(), false);
+         sendMessages(perfParams.getNoOfWarmupMessages(), perfParams.getMessageSize(), perfParams.getTransactionBatchSize(), perfParams.getDeliveryMode(), perfParams.isSessionTransacted(), false);
          log.info("warmed up");
          start = System.currentTimeMillis();
-         sendMessages(perfParams.getNoOfMessagesToSend(), perfParams.getTransactionBatchSize(), perfParams.getDeliveryMode(), perfParams.isSessionTransacted(), true);
+         sendMessages(perfParams.getNoOfMessagesToSend(), perfParams.getMessageSize(), perfParams.getTransactionBatchSize(), perfParams.getDeliveryMode(), perfParams.isSessionTransacted(), true);
          long end = System.currentTimeMillis();
          displayAverage(perfParams.getNoOfMessagesToSend(), start, end);
       }
@@ -149,15 +151,14 @@
       }
    }
 
-   private void sendMessages(final int numberOfMessages, final int txBatchSize, final int deliveryMode,
-                             final boolean transacted, final boolean display) throws JMSException
+   private void sendMessages(int numberOfMessages, int messageSize, int txBatchSize, int deliveryMode, boolean transacted, boolean display) throws JMSException
    {
       MessageProducer producer = session.createProducer(queue);
       producer.setDisableMessageID(true);
       producer.setDisableMessageTimestamp(true);
       producer.setDeliveryMode(deliveryMode);
       BytesMessage bytesMessage = session.createBytesMessage();
-      byte[] payload = new byte[1024];
+      byte[] payload = new byte[messageSize];
       bytesMessage.writeBytes(payload);
       
       final int modulo = numberOfMessages / 10;

Modified: trunk/examples/jms/src/org/jboss/jms/util/PerfParams.java
===================================================================
--- trunk/examples/jms/src/org/jboss/jms/util/PerfParams.java	2008-05-29 11:01:10 UTC (rev 4336)
+++ trunk/examples/jms/src/org/jboss/jms/util/PerfParams.java	2008-05-29 12:34:03 UTC (rev 4337)
@@ -36,6 +36,7 @@
    
    private int noOfMessagesToSend = 1000;
    private int noOfWarmupMessages;
+   private int messageSize = 1024; // in bytes
    private int deliveryMode = DeliveryMode.NON_PERSISTENT;
    private boolean isSessionTransacted = false;
    private int transactionBatchSize = 5000;
@@ -64,6 +65,16 @@
       this.noOfWarmupMessages = noOfWarmupMessages;
    }
 
+   public int getMessageSize()
+   {
+      return messageSize;
+   }
+   
+   public void setMessageSize(int messageSize)
+   {
+      this.messageSize = messageSize;
+   }
+   
    public int getDeliveryMode()
    {
       return deliveryMode;
@@ -136,11 +147,12 @@
 
    public String toString()
    {
-      return "message to send = " + noOfMessagesToSend + ", 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 +
-              ", Session Acknowledge mode = " + (dupsOk ? "DUPS_OK_ACKNOWLEDGE" : "AUTO_ACKNOWLEDGE");
+      return "message to send = " + noOfMessagesToSend + ", messages to warm up = " + noOfWarmupMessages + ", message size = " + messageSize + 
+               ", 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 +
+               ", Session Acknowledge mode = " + (dupsOk ? "DUPS_OK_ACKNOWLEDGE" : "AUTO_ACKNOWLEDGE");
    }
 
 




More information about the jboss-cvs-commits mailing list