Author: chathura_ce
Date: Wed Apr 4 01:54:47 2007
New Revision: 525462
URL: http://svn.apache.org/viewvc?view=rev&rev=525462
Log:
Added an option for clients to specify the size of the request SOAP message.
Client will add specified number of dummy elements to the SOAP body and
Services will also return the same dummy elements. This can be used to get an
idea of performance of Synapse and load balancing / failover implementation for
large SOAP messages.
Modified:
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService1.java
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService2.java
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/LoadbalanceFailoverClient.java
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ServiceInvoker.java
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ThreadedClient.java
webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml
Modified:
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService1.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService1.java?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
---
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService1.java
(original)
+++
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService1.java
Wed Apr 4 01:54:47 2007
@@ -22,6 +22,8 @@
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
+import javax.xml.namespace.QName;
+
public class LBService1 {
public OMElement setClientName(OMElement cName) {
@@ -47,11 +49,12 @@
return param;
}
- public OMElement sleepOperation(OMElement timeElement) throws AxisFault {
+ public OMElement sleepOperation(OMElement param) throws AxisFault {
- timeElement.build();
- timeElement.detach();
+ param.build();
+ param.detach();
+ OMElement timeElement = param.getFirstChildWithName(new QName("load"));
String time = timeElement.getText();
try {
Thread.sleep(Long.parseLong(time));
@@ -65,14 +68,15 @@
} else {
timeElement.setText("Response from anonymous server");
}
- return timeElement;
+ return param;
}
-
- public OMElement loadOperation(OMElement loadElement) throws AxisFault {
- loadElement.build();
- loadElement.detach();
+ public OMElement loadOperation(OMElement param) throws AxisFault {
+ param.build();
+ param.detach();
+
+ OMElement loadElement = param.getFirstChildWithName(new QName("load"));
String l = loadElement.getText();
long load = Long.parseLong(l);
@@ -86,6 +90,6 @@
} else {
loadElement.setText("Response from anonymous server");
}
- return loadElement;
+ return param;
}
}
Modified:
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService2.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService2.java?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
---
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService2.java
(original)
+++
webservices/synapse/trunk/java/modules/samples/services/LoadbalanceFailoverService/src/samples/services/LBService2.java
Wed Apr 4 01:54:47 2007
@@ -23,6 +23,8 @@
import org.apache.axis2.context.OperationContext;
import org.apache.axis2.context.ServiceContext;
+import javax.xml.namespace.QName;
+
public class LBService2 {
private ServiceContext serviceContext = null;
@@ -31,13 +33,17 @@
this.serviceContext = serviceContext;
}
- public OMElement sleepOperation(OMElement param) {
+ public OMElement sleepOperation(OMElement topParam) {
+
+ topParam.build();
+ topParam.detach();
- param.build();
- param.detach();
+ OMElement param = topParam.getFirstChildWithName(new QName("load"));
+ String l = param.getText();
+ long time = Long.parseLong(l);
try {
- Thread.sleep(2000);
+ Thread.sleep(time);
} catch (InterruptedException e) {
e.printStackTrace(); //To change body of catch statement use File
| Settings | File Templates.
}
@@ -71,14 +77,15 @@
param.setText(msg);
- return param;
+ return topParam;
}
- public OMElement loadOperation(OMElement param) {
+ public OMElement loadOperation(OMElement topParam) {
- param.build();
- param.detach();
+ topParam.build();
+ topParam.detach();
+ OMElement param = topParam.getFirstChildWithName(new QName("load"));
String l = param.getText();
long load = Long.parseLong(l);
@@ -115,7 +122,7 @@
param.setText(msg);
- return param;
+ return topParam;
}
public OMElement setClientName(OMElement name) {
Modified:
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/LoadbalanceFailoverClient.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/LoadbalanceFailoverClient.java?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
---
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/LoadbalanceFailoverClient.java
(original)
+++
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/LoadbalanceFailoverClient.java
Wed Apr 4 01:54:47 2007
@@ -97,8 +97,7 @@
value.setText("Sample string");
Options options = new Options();
- options.setTo(new EndpointReference
- ("http://localhost:" + synapsePort +
"/soap/services/LoadbalanceFailoverService"));
+ options.setTo(new EndpointReference("http://localhost:" +
synapsePort));
options.setAction("sampleOperation");
@@ -121,7 +120,7 @@
}
} catch (AxisFault axisFault) {
- axisFault.printStackTrace();
+ System.out.println(axisFault.getMessage());
}
}
@@ -162,8 +161,7 @@
}
Options options = new Options();
- options.setTo(new EndpointReference
- ("http://localhost:" + synapsePort +
"/soap/services/LoadbalanceFailoverService"));
+ options.setTo(new EndpointReference("http://localhost:" +
synapsePort));
options.setAction("sampleOperation");
options.setTimeOutInMilliSeconds(10000000);
@@ -206,7 +204,7 @@
}
} catch (AxisFault axisFault) {
- axisFault.printStackTrace();
+ System.out.println(axisFault.getMessage());
}
}
Modified:
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ServiceInvoker.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ServiceInvoker.java?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
---
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ServiceInvoker.java
(original)
+++
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ServiceInvoker.java
Wed Apr 4 01:54:47 2007
@@ -30,8 +30,6 @@
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPHeaderBlock;
import javax.xml.namespace.QName;
@@ -72,8 +70,11 @@
}
fac = OMAbstractFactory.getOMFactory();
- msg = fac.createOMElement("sleepTime", null);
- msg.setText("1000");
+ msg = fac.createOMElement("SampleMsg", null);
+
+ OMElement load = fac.createOMElement("load", null);
+ load.setText("1000");
+ msg.addChild(load);
}
public String getInvokerName() {
@@ -103,8 +104,20 @@
return runningTime;
}
- public void setMessage(String msgText) {
- msg.setText(msgText);
+ public void setLoad(String load) {
+ OMElement loadElement = msg.getFirstChildWithName(new QName("load"));
+ loadElement.setText(load);
+ }
+
+ public void addDummyElements(long numElements) {
+ OMElement dummies = fac.createOMElement("Dummies", null);
+ msg.addChild(dummies);
+
+ for (long i = 0; i < numElements; i++) {
+ OMElement dummy = fac.createOMElement("Dummy", null);
+ dummy.setText("This is the dummy element " + i);
+ dummies.addChild(dummy);
+ }
}
public void setClientSessionID(String id) {
@@ -137,7 +150,8 @@
for (long i=0; i < iterations; i++) {
OMElement response2 = client.sendReceive(msg);
- System.out.println(invokerName + ": " + response2.toString());
+ OMElement loadElement = response2.getFirstChildWithName(new
QName("load"));
+ System.out.println(invokerName + ": " +
loadElement.toString());
}
long t2 = System.currentTimeMillis();
@@ -148,7 +162,7 @@
runningTime = t2 - t1;
} catch (AxisFault axisFault) {
- axisFault.printStackTrace(); //To change body of catch statement
use File | Settings | File Templates.
+ System.out.println(axisFault.getMessage());
}
}
}
Modified:
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ThreadedClient.java
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ThreadedClient.java?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
---
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ThreadedClient.java
(original)
+++
webservices/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ThreadedClient.java
Wed Apr 4 01:54:47 2007
@@ -61,11 +61,18 @@
}
System.out.println("Number of requests: " + requests);
- String msg = System.getProperty("load");
- if (msg == null) {
- msg = "1000";
+ String loadParameter = System.getProperty("load");
+ if (loadParameter == null) {
+ loadParameter = "1000";
}
- System.out.println("Load: " + msg);
+ System.out.println("Load: " + loadParameter);
+
+ long msgSize = 0;
+ String msgSizeProp = System.getProperty("msg");
+ if (msgSizeProp != null) {
+ msgSize = Long.parseLong(msgSizeProp);
+ }
+ System.out.println("Number of dummy elements in the message: " +
msgSize);
String sessionProp = System.getProperty("session");
if (sessionProp == null) {
@@ -97,7 +104,8 @@
invoker.setInvokerName("CLIENT " + i);
invoker.setIterations(requests);
- invoker.setMessage(msg);
+ invoker.setLoad(loadParameter);
+ invoker.addDummyElements(msgSize);
if (session == SIMPLE_CLIENT_SESSION) {
invoker.setClientSessionID("CLIENT " + i);
Modified:
webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml
URL:
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml?view=diff&rev=525462&r1=525461&r2=525462
==============================================================================
--- webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml
(original)
+++ webservices/synapse/trunk/java/modules/samples/src/main/scripts/build.xml
Wed Apr 4 01:54:47 2007
@@ -180,6 +180,7 @@
<sysproperty key="op" value="${op}"/>
<sysproperty key="req" value="${req}"/>
<sysproperty key="load" value="${load}"/>
+ <sysproperty key="msg" value="${msg}"/>
<sysproperty key="t" value="${t}"/>
<sysproperty key="session" value="${session}"/>
</java>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]