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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 14 12:17:21 EDT 2008


Author: timfox
Date: 2008-05-14 12:17:20 -0400 (Wed, 14 May 2008)
New Revision: 4194

Modified:
   trunk/examples/jms/build.xml
   trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java
Log:
Added PerfTransactionExample


Modified: trunk/examples/jms/build.xml
===================================================================
--- trunk/examples/jms/build.xml	2008-05-14 15:29:44 UTC (rev 4193)
+++ trunk/examples/jms/build.xml	2008-05-14 16:17:20 UTC (rev 4194)
@@ -42,7 +42,7 @@
 
    <!--perf props-->
    <property name="message.count" value="200000"/>
-   <property name="delivery.mode" value="NON_PERSISTENT"/>
+   <property name="delivery.mode" value="PERSISTENT"/>
    <property name="sample.period" value="1"/>
 
    <path id="compile.classpath">
@@ -105,6 +105,8 @@
    <target name="perfListener" depends="compile">
       <java classname="org.jboss.jms.example.PerfExample" fork="true">
          <classpath refid="runtime.classpath"/>
+      	<jvmarg value="-Xmx512M"/>
+      	<jvmarg value="-XX:+UseParallelGC"/>
          <arg value="-l"/>
       </java>
    </target>
@@ -112,7 +114,6 @@
    <target name="perfSender" depends="compile">
       <java classname="org.jboss.jms.example.PerfExample" fork="true">
          <classpath refid="runtime.classpath"/>
-      	<jvmarg value="-Xms512M"/>
       	<jvmarg value="-Xmx512M"/>
       	<jvmarg value="-XX:+UseParallelGC"/>
          <arg value="-s"/>
@@ -121,4 +122,26 @@
          <arg value="${sample.period}"/>
       </java>
    </target>
+	
+	<target name="perfListenerTransactional" depends="compile">
+      <java classname="org.jboss.jms.example.PerfTransactionExample" fork="true">
+         <classpath refid="runtime.classpath"/>
+      	<jvmarg value="-Xmx512M"/>
+      	<jvmarg value="-XX:+UseParallelGC"/>
+         <arg value="-l"/>
+      </java>
+   </target>
+
+   <target name="perfSenderTransactional" depends="compile">
+      <java classname="org.jboss.jms.example.PerfTransactionExample" fork="true">
+         <classpath refid="runtime.classpath"/>
+      	<jvmarg value="-Xmx512M"/>
+      	<jvmarg value="-XX:+UseParallelGC"/>
+         <arg value="-s"/>
+         <arg value="${message.count}"/>
+         <arg value="${delivery.mode}"/>
+         <arg value="${sample.period}"/>
+      </java>
+   </target>
+	
 </project>
\ No newline at end of file

Modified: trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java
===================================================================
--- trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java	2008-05-14 15:29:44 UTC (rev 4193)
+++ trunk/examples/jms/src/org/jboss/jms/example/PerfExample.java	2008-05-14 16:17:20 UTC (rev 4194)
@@ -68,7 +68,7 @@
       queue = (Queue) initialContext.lookup("/queue/testPerfQueue");
       ConnectionFactory cf = (ConnectionFactory) initialContext.lookup("/ConnectionFactory");
       connection = cf.createConnection();
-      session = connection.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);
+      session = connection.createSession(true, Session.SESSION_TRANSACTED);
    }
    
    public void runSender(int noOfMessage, int deliveryMode, long samplePeriod)
@@ -91,11 +91,25 @@
          BytesMessage bytesMessage = session.createBytesMessage();
          byte[] payload = new byte[1024];
          bytesMessage.writeBytes(payload);
+         boolean committed = false;
          for (int i = 1; i <= noOfMessage; i++)
          {
             producer.send(bytesMessage);
             messageCount++;
+            if (messageCount % 10000 == 0)
+            {
+               session.commit();
+               committed = true;
+            }
+            else
+            {
+               committed = false;
+            }
          }
+         if (!committed)
+         {
+            session.commit();
+         }
          scheduler.shutdownNow();
          log.info("average " +  command.getAverage() + " per " + (perfParams.getSamplePeriod()/1000) + " secs" );
       }
@@ -194,14 +208,26 @@
          }
          else
          {
-            BytesMessage bm = (BytesMessage) message;
-            messageCount++;               
-            if (messageCount == params.getNoOfMessagesToSend())
+            try
             {
-               countDownLatch.countDown();
-               scheduler.shutdownNow();
-               log.info("average " +  command.getAverage() + " per " + (params.getSamplePeriod()/1000) + " secs" );
+               BytesMessage bm = (BytesMessage) message;
+               messageCount++;      
+               if (messageCount % 10000 == 0)
+               {
+                  session.commit();
+               }
+               if (messageCount == params.getNoOfMessagesToSend())
+               {
+                  session.commit();
+                  countDownLatch.countDown();
+                  scheduler.shutdownNow();
+                  log.info("average " +  command.getAverage() + " per " + (params.getSamplePeriod()/1000) + " secs" );
+               }
             }
+            catch (Exception e)
+            {
+               e.printStackTrace();
+            }
          }
       }
    }




More information about the jboss-cvs-commits mailing list