You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ve...@apache.org on 2009/05/10 23:26:36 UTC
svn commit: r773407 - in /synapse/trunk/java/modules/samples/src/main:
java/samples/userguide/GenericJMSClient.java scripts/axis2Client/build.xml
Author: veithen
Date: Sun May 10 21:26:36 2009
New Revision: 773407
URL: http://svn.apache.org/viewvc?rev=773407&view=rev
Log:
Modified GenericJMSClient so that the user can specify the number of messages to send (useful to do simple load tests).
Modified:
synapse/trunk/java/modules/samples/src/main/java/samples/userguide/GenericJMSClient.java
synapse/trunk/java/modules/samples/src/main/scripts/axis2Client/build.xml
Modified: synapse/trunk/java/modules/samples/src/main/java/samples/userguide/GenericJMSClient.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/GenericJMSClient.java?rev=773407&r1=773406&r2=773407&view=diff
==============================================================================
--- synapse/trunk/java/modules/samples/src/main/java/samples/userguide/GenericJMSClient.java (original)
+++ synapse/trunk/java/modules/samples/src/main/java/samples/userguide/GenericJMSClient.java Sun May 10 21:26:36 2009
@@ -35,6 +35,9 @@
import java.io.IOException;
public class GenericJMSClient {
+ private QueueConnection connection;
+ private QueueSession session;
+ private QueueSender sender;
private static String getProperty(String name, String def) {
String result = System.getProperty(name);
@@ -50,54 +53,37 @@
String type = getProperty("jms_type", "text");
String param = getProperty("jms_payload",
getRandom(100, 0.9, true) + " " + (int) getRandom(10000, 1.0, true) + " IBM");
+ String sMsgCount = getProperty("jms_msgcount", null);
GenericJMSClient app = new GenericJMSClient();
+ int msgCount = sMsgCount == null ? 1 : Integer.parseInt(sMsgCount);
+ app.connect(dest);
if ("text".equalsIgnoreCase(type)) {
- app.sendTextMessage(dest, param);
+ for (int i=0; i<msgCount; i++) {
+ app.sendTextMessage(param);
+ }
} else if ("binary".equalsIgnoreCase(type)) {
- app.sendBytesMessage(dest, getBytesFromFile(param));
+ for (int i=0; i<msgCount; i++) {
+ app.sendBytesMessage(getBytesFromFile(param));
+ }
} else if ("pox".equalsIgnoreCase(type)) {
- app.sendTextMessage(dest,
- "<m:placeOrder xmlns:m=\"http://services.samples\">\n" +
- " <m:order>\n" +
- " <m:price>" + getRandom(100, 0.9, true) + "</m:price>\n" +
- " <m:quantity>" + (int) getRandom(10000, 1.0, true) + "</m:quantity>\n" +
- " <m:symbol>" + param + "</m:symbol>\n" +
- " </m:order>\n" +
- "</m:placeOrder>");
+ for (int i=0; i<msgCount; i++) {
+ app.sendTextMessage(
+ "<m:placeOrder xmlns:m=\"http://services.samples\">\n" +
+ " <m:order>\n" +
+ " <m:price>" + getRandom(100, 0.9, true) + "</m:price>\n" +
+ " <m:quantity>" + (int) getRandom(10000, 1.0, true) + "</m:quantity>\n" +
+ " <m:symbol>" + param + "</m:symbol>\n" +
+ " </m:order>\n" +
+ "</m:placeOrder>");
+ }
} else {
System.out.println("Unknown JMS message type");
}
+ app.shutdown();
}
- private void sendBytesMessage(String destName, byte[] payload) throws Exception {
- InitialContext ic = getInitialContext();
- QueueConnectionFactory confac = (QueueConnectionFactory) ic.lookup("ConnectionFactory");
- QueueConnection connection = confac.createQueueConnection();
- QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
- BytesMessage bm = session.createBytesMessage();
- bm.writeBytes(payload);
- QueueSender sender = session.createSender((Queue)ic.lookup(destName));
- sender.send(bm);
- sender.close();
- session.close();
- connection.close();
- }
-
- private void sendTextMessage(String destName, String payload) throws Exception {
- InitialContext ic = getInitialContext();
- QueueConnectionFactory confac = (QueueConnectionFactory) ic.lookup("ConnectionFactory");
- QueueConnection connection = confac.createQueueConnection();
- QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
- TextMessage tm = session.createTextMessage(payload);
- QueueSender sender = session.createSender((Queue)ic.lookup(destName));
- sender.send(tm);
- sender.close();
- session.close();
- connection.close();
- }
-
- private InitialContext getInitialContext() throws NamingException {
+ private void connect(String destName) throws Exception {
Properties env = new Properties();
if (System.getProperty("java.naming.provider.url") == null) {
env.put("java.naming.provider.url", "tcp://localhost:61616");
@@ -106,7 +92,28 @@
env.put("java.naming.factory.initial",
"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
}
- return new InitialContext(env);
+ InitialContext ic = new InitialContext(env);
+ QueueConnectionFactory confac = (QueueConnectionFactory) ic.lookup("ConnectionFactory");
+ connection = confac.createQueueConnection();
+ session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+ sender = session.createSender((Queue)ic.lookup(destName));
+ }
+
+ private void shutdown() throws Exception {
+ sender.close();
+ session.close();
+ connection.close();
+ }
+
+ private void sendBytesMessage(byte[] payload) throws Exception {
+ BytesMessage bm = session.createBytesMessage();
+ bm.writeBytes(payload);
+ sender.send(bm);
+ }
+
+ private void sendTextMessage(String payload) throws Exception {
+ TextMessage tm = session.createTextMessage(payload);
+ sender.send(tm);
}
public static byte[] getBytesFromFile(String fileName) throws IOException {
Modified: synapse/trunk/java/modules/samples/src/main/scripts/axis2Client/build.xml
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/samples/src/main/scripts/axis2Client/build.xml?rev=773407&r1=773406&r2=773407&view=diff
==============================================================================
--- synapse/trunk/java/modules/samples/src/main/scripts/axis2Client/build.xml (original)
+++ synapse/trunk/java/modules/samples/src/main/scripts/axis2Client/build.xml Sun May 10 21:26:36 2009
@@ -54,6 +54,8 @@
ant jmsclient [-Djms_type=pox] [-Djms_dest=dynamicQueues/JMSPoxProxy] [-Djms_payload=MSFT]
ant jmsclient [-Djms_type=binary] [-Djms_dest=dynamicQueues/JMSFileUploadProxy]
[-Djms_payload=./../../repository/conf/sample/resources/mtom/asf-logo.gif]
+ ant jmsclient [-Djms_type=pox] [-Djms_dest=dynamicQueues/JMSPoxProxy] [-Djms_payload=MSFT]
+ [-Djms_msgcount=10000]
ant optimizeclient
A client that could send binary content using MTOM and SwA optimizations
@@ -128,6 +130,7 @@
<property name="jms_dest" value=""/>
<property name="jms_type" value=""/>
<property name="jms_payload" value=""/>
+ <property name="jms_msgcount" value=""/>
<property name="opt_mode" value=""/>
<property name="opt_url" value=""/>
<property name="opt_file" value=""/>
@@ -223,6 +226,7 @@
<sysproperty key="jms_dest" value="${jms_dest}"/>
<sysproperty key="jms_type" value="${jms_type}"/>
<sysproperty key="jms_payload" value="${jms_payload}"/>
+ <sysproperty key="jms_msgcount" value="${jms_msgcount}"/>
<sysproperty key="java.io.tmpdir" value="./../../work/temp/sampleClient"/>
</java>
</target>