cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dk...@apache.org
Subject svn commit: r556665 - in /incubator/cxf/trunk/benchmark/performance: ./ base/ base/src/org/apache/cxf/pat/internal/ basic_type/src/org/apache/cxf/performance/basic_type/client/ complex_type/src/org/apache/cxf/performance/complex_type/client/ etc/ soap_...
Date Mon, 16 Jul 2007 16:42:35 GMT
Author: dkulp
Date: Mon Jul 16 09:42:28 2007
New Revision: 556665

URL: http://svn.apache.org/viewvc?view=rev&rev=556665
Log:
Update perf benchmarks to stuff I ran at Sun labs.

Added:
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_java_client   (with props)
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server   (with props)
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server.bat   (with props)
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build.xml   (with props)
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_axis.xml   (with props)
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_ri.xml   (with props)
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/client/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/client/Client.java   (with props)
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/Server.java   (with props)
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/ServerImpl.java   (with props)
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/cxf-servlet.xml   (with props)
    incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/perf.wsdl   (with props)
Modified:
    incubator/cxf/trunk/benchmark/performance/README.txt
    incubator/cxf/trunk/benchmark/performance/base/build.xml
    incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestCaseBase.java
    incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestResult.java
    incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestRunner.java
    incubator/cxf/trunk/benchmark/performance/basic_type/src/org/apache/cxf/performance/basic_type/client/Client.java
    incubator/cxf/trunk/benchmark/performance/complex_type/src/org/apache/cxf/performance/complex_type/client/Client.java
    incubator/cxf/trunk/benchmark/performance/etc/common_build.xml

Modified: incubator/cxf/trunk/benchmark/performance/README.txt
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/README.txt?view=diff&rev=556665&r1=556664&r2=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/README.txt (original)
+++ incubator/cxf/trunk/benchmark/performance/README.txt Mon Jul 16 09:42:28 2007
@@ -3,7 +3,7 @@
 
 As described in the installation notes, extract the cxf
 binary distribution archive into an installation directory
-under the root drive.  This creates the sub-directory cxffire,
+under the root drive.  This creates the sub-directory build,
 which includes all of the product directories.
 
 1. setup the build Enviroment
@@ -20,21 +20,18 @@
 
  2. Build the performance test case
 There are two types of test case in the performance test case
-directory. The one is basic_type testcase ,the othere is complex_type
-testcase. The base directory provide a simple testcase base class for
+directory.  The base directory provide a simple testcase base class for
 the client to calculate the server reponse time and throughput. There
 for you should build the base directory first, and then build the 
  othere directory files. 		
   
    cd base
    ant
-   cd ../basic_type
-   ant
-   cd ../complex_type
+   cd ../soap_http_doc_lit
    ant
 
  3. to run the performance test 
-You can cd to basic_type/bin or complex_type/bin to run the test
+You can cd to soap_http_doc_lit/bin to run the test
 run_server and run_server.bat just startup the server
 run_client and run_client.bat can take these argument:
     -Operation  to invoke the wsdl defined operation
@@ -42,8 +39,9 @@
     -Amount   define the invoke times , if based on time it means second
     -PacketSize  define the packet size which client send to server
     -Threads   define the thread number to run the perform test
-    -HostName  define the service provider's host name
-    -Port      define the service provider's listen port number	
- 
-
+               Can be a range or comma separated list to run multiple time
+	       with different thread counts.   For example:
+	       -Threads 1-4,6,8,10 
+    -WSDL      wsdl location (defaults to the perf.wsdl)
+    -BuildFile location of alternative build.xml file (mostly for running clients/servers)
 	

Modified: incubator/cxf/trunk/benchmark/performance/base/build.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/base/build.xml?view=diff&rev=556665&r1=556664&r2=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/base/build.xml (original)
+++ incubator/cxf/trunk/benchmark/performance/base/build.xml Mon Jul 16 09:42:28 2007
@@ -17,26 +17,26 @@
   under the License.
 -->
 <project name="cxf-performance-testcase-base" default="base.compile" basedir=".">
-  <import file="../etc/common_build.xml"/>
-  <property name="jar.name"  value="performance_base.jar"/>  
-  <target name="init">
-    <mkdir dir="${basedir}/build/classes"/>
-  </target> 
-  <target name="base.compile" depends="init">
-    <javac srcdir="${basedir}/src" destdir="${basedir}/build/classes"
-	   debug="true">
-      <classpath refid="cxf.classpath"/>
-    </javac>
-  </target>
-  <target name="base.deploy" depends="compile">
-    <jar destfile="${jar.name}" >
-      <fileset dir="${build.classes.dir}">
-	<include name="**/*.class" />
-      </fileset>
-    </jar>
-  </target>
-  <target name="clean">
-    <delete dir="${basedir}/build"/>
-  </target>
+    <import file="../etc/common_build.xml"/>
+    <property name="jar.name"  value="performance_base.jar"/>
+    <target name="init">
+        <mkdir dir="${basedir}/build/classes"/>
+    </target>
+    <target name="base.compile" depends="init">
+        <javac srcdir="${basedir}/src" destdir="${basedir}/build/classes"
+           debug="true">
+            <classpath refid="cxf.classpath"/>
+        </javac>
+    </target>
+    <target name="base.deploy" depends="compile">
+        <jar destfile="${jar.name}" >
+            <fileset dir="${build.classes.dir}">
+                <include name="**/*.class" />
+            </fileset>
+        </jar>
+    </target>
+    <target name="clean">
+        <delete dir="${basedir}/build"/>
+    </target>
 </project>
 

Modified: incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestCaseBase.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestCaseBase.java?view=diff&rev=556665&r1=556664&r2=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestCaseBase.java (original)
+++ incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestCaseBase.java Mon Jul 16 09:42:28 2007
@@ -22,8 +22,8 @@
 
 
 
-public abstract class TestCaseBase {
-    private static boolean initialized;
+public abstract class TestCaseBase<T> {
+    private boolean initialized;
     
     protected String wsdlPath;
 
@@ -47,8 +47,6 @@
 
     protected List<TestResult> results = new ArrayList<TestResult>();
 
-    protected boolean usePipe;
-
     private int numberOfThreads;
     
     private String name;
@@ -57,8 +55,10 @@
 
     private String faultReason = "no error";
 
+    private boolean timedTestDone = false;
 
-    
+    private boolean doWarmup = true;
+ 
     public TestCaseBase() {
         this("DEFAULT TESTCASE", null);
     }
@@ -71,6 +71,11 @@
         this.name = cname;
         this.args = arg;
     }
+    public TestCaseBase(String cname, String[] arg, boolean w) {
+        this.name = cname;
+        this.args = arg;
+        this.doWarmup = w;
+    }
 
     public abstract void initTestData();
 
@@ -79,7 +84,7 @@
         initTestData();
     }
 
-    private void processArgs() {
+    public void processArgs() {
         int count = 0;
         int argc = args.length; 
         while (count < argc) {
@@ -89,9 +94,6 @@
             } else if ("-Service".equals(args[count])) {
                 serviceName = args[count + 1];
                 count += 2;
-            } else if ("-Pipe".equals(args[count])) {
-                usePipe = true;
-                count++;
             } else if ("-Port".equals(args[count])) {
                 portName = args[count + 1];
                 count += 2;
@@ -169,6 +171,7 @@
         printSetting("Runtime Setting: ");
     }
 
+    int initDone = 0;
     public void initialize() {
         try {
             if (!initialized) {
@@ -176,41 +179,73 @@
             }
             initialized = true;
 
+            if (!doWarmup) {
+                 return;
+            }
+
+            System.out.println("TestCase " + name + " is warming up the jit. (20 sec/1200 iterations)");
+            final long endTime = System.currentTimeMillis() + 20000;
+            final T t = getPort();
+
+            for (int x = 0; x < 12; x++) {
+                new Thread() {
+                    public void run() {
+                        try {
+                            int count = 0;
+                            while (count < 1200 || System.currentTimeMillis() < endTime) {
+                                count++;
+                                doJob(t);
+                            }
+                        } catch ( Exception ex ) {
+                            ex.printStackTrace();
+                        }
+                        ++initDone;
+                    }
+                }.start();
+            }
 
-            System.out.println("TestCase " + name + " is warming up the jit. (5 sec/200 iterations)");
-            long endTime = System.currentTimeMillis() + 5000;
-            getPort();
             int count = 0;
-            while (System.currentTimeMillis() < endTime || count < 200) {
+            while (count < 1200 || System.currentTimeMillis() < endTime) {
                 count++;
-                doJob();
+                doJob(t);
+            }
+            while (initDone != 12) {
+		Thread.sleep(100);
             }
         } catch (Exception e) {
             e.printStackTrace();
-            System.exit(0);
         }
     }
 
-    public abstract void doJob();
+    public abstract void doJob(T t);
 
-    public abstract void getPort();
+    public abstract T getPort();
 
-    protected void internalTestRun(String caseName) throws Exception {
+    protected void internalTestRun(String caseName, T t) throws Exception {
         int numberOfInvocations = 0;
+        for (int x = 0; x < 25; x++) {
+            //warmup
+            doJob(t);
+        }
         long startTime = System.currentTimeMillis();
-        long endTime = startTime + amount * 1000;
         if (usingTime) {
-            while (System.currentTimeMillis() < endTime) {
-                doJob();
+            while (!timedTestDone) {
+                doJob(t);
                 numberOfInvocations++;
             }
         } else {
             for (int i = 0; i < amount; i++) {
-                doJob();
+                doJob(t);
                 numberOfInvocations++;
             }
         }
-        endTime = System.currentTimeMillis();
+        long endTime = System.currentTimeMillis();
+        for (int x = 0; x < 25; x++) {
+            //keep running so other threads get accurate results
+            doJob(t);
+        }
+
+
         TestResult testResult = new TestResult(caseName, this);
         testResult.compute(startTime, endTime, numberOfInvocations);
         addTestResult(testResult);
@@ -218,16 +253,21 @@
 
     public void testRun() throws Exception {
         if (numberOfThreads == 0) {
-            internalTestRun(name);
-        }
+            numberOfThreads = 1; 
+	}
         List<Thread> threadList = new ArrayList<Thread>();
         for (int i = 0; i < numberOfThreads; i++) {
-            TestRunner runner = new TestRunner("No." + i + " TestRunner", this);
+            TestRunner<T> runner = new TestRunner<T>("No." + i + " TestRunner", this);
             Thread thread = new Thread(runner, "RunnerThread No." + i);
             thread.start();
             threadList.add(thread);
         }
 
+        if (usingTime) {
+            Thread.sleep(amount * 1000);
+            timedTestDone = true;
+        }
+
         for (Iterator iter = threadList.iterator(); iter.hasNext();) {
             Thread thread = (Thread) iter.next();
             try {
@@ -263,13 +303,13 @@
 
     public abstract void printUsage();
 
-    public void printSetting(String settingType) {        
-        System.out.println(settingType + "  wsdl location is " + wsdlPath );
+    public void printSetting(String settingType) {
         System.out.println(settingType + "  [Service] -- > " + serviceName);
         System.out.println(settingType + "  [Port] -- > " + portName);
         System.out.println(settingType + "  [Operation] -- > " + operationName);
         System.out.println(settingType + "  [Threads] -- > " + numberOfThreads);
-        System.out.println(settingType + "  [Packet Size] -- > " + packetSize + " packet(s) ");
+        System.out.println(settingType + "  [Packet Size] -- > " + packetSize
+                           + " packet(s) ");
         if (usingTime) {
             System.out.println(settingType + "  [Running] -->  " + amount + " (secs)");
         } else {
@@ -280,7 +320,7 @@
 
     public void printTitle() {
         System.out.println(" ---------------------------------");
-        System.out.println(name + "  Client (JAVA Version)");       
+        System.out.println(name + "  Client (JAVA Version)");
         System.out.println(" ---------------------------------");
     }
 

Modified: incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestResult.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestResult.java?view=diff&rev=556665&r1=556664&r2=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestResult.java (original)
+++ incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestResult.java Mon Jul 16 09:42:28 2007
@@ -20,8 +20,8 @@
 
 
 public class TestResult {
-    public static final String AVG_UNIT = "(ms)";
-    private static final String THROUGHPUT_UNIT = "(invocations/sec)";
+    public static final String AVG_UNIT = " (ms)";
+    private static final String THROUGHPUT_UNIT = " (invocations/sec)";
     
     private String name;
     private TestCaseBase testCase;

Modified: incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestRunner.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestRunner.java?view=diff&rev=556665&r1=556664&r2=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestRunner.java (original)
+++ incubator/cxf/trunk/benchmark/performance/base/src/org/apache/cxf/pat/internal/TestRunner.java Mon Jul 16 09:42:28 2007
@@ -19,11 +19,11 @@
 package org.apache.cxf.pat.internal;
 
 
-public class TestRunner implements Runnable {
+public class TestRunner<T> implements Runnable {
 
-    protected TestCaseBase testCase;
+    protected TestCaseBase<T> testCase;
     private String name;
-    
+    private T port;    
 
     public TestRunner() {
         this("Default runner");
@@ -33,15 +33,16 @@
         this(cname, null);
     }
 
-    public TestRunner(String cname, TestCaseBase test) {
+    public TestRunner(String cname, TestCaseBase<T> test) {
         this.name = cname;
         this.testCase = test;
+        this.port = test.getPort();
     }
 
     public void run() {     
         System.out.println("TestRunner " + name + " is running");
         try {
-            testCase.internalTestRun(name);
+            testCase.internalTestRun(name, port);
         } catch (Exception e) {
             e.printStackTrace();
         }    

Modified: incubator/cxf/trunk/benchmark/performance/basic_type/src/org/apache/cxf/performance/basic_type/client/Client.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/basic_type/src/org/apache/cxf/performance/basic_type/client/Client.java?view=diff&rev=556665&r1=556664&r2=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/basic_type/src/org/apache/cxf/performance/basic_type/client/Client.java (original)
+++ incubator/cxf/trunk/benchmark/performance/basic_type/src/org/apache/cxf/performance/basic_type/client/Client.java Mon Jul 16 09:42:28 2007
@@ -32,7 +32,7 @@
 import org.apache.cxf.performance.basic_type.BasicService;
 import org.apache.cxf.performance.basic_type.server.Server;
  
-public final class Client extends TestCaseBase {
+public final class Client extends TestCaseBase<BasicPortType> {
     
     private static final QName SERVICE_NAME 
         = new QName("http://cxf.apache.org/performance/basic_type", "BasicService");
@@ -45,7 +45,6 @@
     private final int asciiCount = 1 * 1024;
     
     private BasicService ss;
-    private BasicPortType port;
 
     public Client(String[] args) {
         super("Basic Type TestCase", args);
@@ -96,7 +95,7 @@
         System.exit(0);
     }
 
-    public void doJob() {
+    public void doJob(BasicPortType port) {
         try {
             switch(opid) {
             case 0:
@@ -113,7 +112,7 @@
         }
     }
 
-    public void getPort() {
+    public BasicPortType getPort() {
        
         try {
             URL wsdl = null;
@@ -126,9 +125,7 @@
         } catch (MalformedURLException e) {
             e.printStackTrace();
         }
-        port = ss.getSoapHttpPort();
-      
-
+        return ss.getSoapHttpPort();
     }
 } 
  

Modified: incubator/cxf/trunk/benchmark/performance/complex_type/src/org/apache/cxf/performance/complex_type/client/Client.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/complex_type/src/org/apache/cxf/performance/complex_type/client/Client.java?view=diff&rev=556665&r1=556664&r2=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/complex_type/src/org/apache/cxf/performance/complex_type/client/Client.java (original)
+++ incubator/cxf/trunk/benchmark/performance/complex_type/src/org/apache/cxf/performance/complex_type/client/Client.java Mon Jul 16 09:42:28 2007
@@ -39,7 +39,7 @@
 import org.apache.cxf.performance.complex_type.types.NestedComplexTypeSeq;
 import org.apache.cxf.performance.complex_type.types.SimpleStruct;
 
-public final class Client extends TestCaseBase {
+public final class Client extends TestCaseBase<ComplexPortType> {
     private static final QName SERVICE_NAME = new QName(
                                              "http://cxf.apache.org/performance/complex_type",
                                              "ComplexService");          
@@ -47,7 +47,6 @@
                                           "http://cxf.apache.org/performance/complex_type",
                                           "ComplexPortType");
     private ComplexService cs;
-    private ComplexPortType port;
     private final NestedComplexTypeSeq complexTypeSeq = new NestedComplexTypeSeq();
        
     public Client(String[] args) {
@@ -121,11 +120,11 @@
         }            
     }
     
-    public void doJob() {
+    public void doJob(ComplexPortType port) {
         port.sendReceiveData(complexTypeSeq);
     }
 
-    public void getPort() {        
+    public ComplexPortType getPort() {        
         try{ 
             URL wsdl = null;
             if ((wsdlPath.startsWith("file://")) || (wsdlPath.startsWith("http://"))) {
@@ -137,7 +136,7 @@
         } catch (MalformedURLException e) {
             e.printStackTrace();
         }
-        port = cs.getSoapPort();        
+        return cs.getSoapPort();        
     }
 
     public void printUsage() {

Modified: incubator/cxf/trunk/benchmark/performance/etc/common_build.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/etc/common_build.xml?view=diff&rev=556665&r1=556664&r2=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/etc/common_build.xml (original)
+++ incubator/cxf/trunk/benchmark/performance/etc/common_build.xml Mon Jul 16 09:42:28 2007
@@ -89,6 +89,8 @@
     </target>
 
     <target name="compile" depends="maybe.generate.code">
+        <mkdir dir="${build.classes.dir}"/>
+        <mkdir dir="${build.src.dir}"/>
         <javac destdir="${build.classes.dir}" debug="true">
             <src path="${build.src.dir}"/>
             <src path="${basedir}/src"/>
@@ -122,6 +124,7 @@
         <delete file="${wsdl.dir}/async_binding.xml"/>
         <delete dir="${build.var.dir}"/>
         <delete dir="${activemq.home}/var"/>
+        <delete dir="${build.dir}"/>
     </target>
 
             

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_java_client
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_java_client?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_java_client (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_java_client Mon Jul 16 09:42:28 2007
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+OPERARTION=echoComplexTypeDoc
+#OPERARTION=echoStringDoc
+#OPERARTION=echoBase64Doc
+BASEDON=Time
+AMOUNT=30
+PACKETSIZE=1
+THREADS=0
+BUILD_XML=build.xml
+WSDL=
+
+for i in $@
+do 
+  if [ "$i" = "-Operation" ]
+  then
+	OPERATION=$2
+  fi
+
+  if [ "$i" = "-BuildFile" ]
+  then
+        BUILD_XML=$2
+  fi
+
+  if [ "$i" = "-BasedOn" ]
+  then
+	BASEDON=$2
+  fi
+
+  if [ "$i" = "-Amount" ]
+  then
+	AMOUNT=$2
+  fi
+
+  if [ "$i" = "-PacketSize" ]
+  then
+        PACKETSIZE=$2
+  fi
+
+  if [ "$i" = "-Threads" ]
+  then
+	THREADS=$2
+  fi
+
+  if [ "$i" = "-WSDL" ]
+  then
+        WSDL=-Dwsdl.location=$2
+  fi
+
+  shift
+done
+
+# if on solaris, do this......
+#export LD_PRELOAD=/usr/lib/libumem.so.1
+#echo $LD_PRELOAD
+
+cd .. 
+ant -f $BUILD_XML client $WSDL -Dcxf.running.time=$AMOUNT -Dcxf.operation=$OPERATION -Dcxf.basedon=$BASEDON -Dcxf.packet.size=$PACKETSIZE -Dcxf.threads=$THREADS

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_java_client
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server Mon Jul 16 09:42:28 2007
@@ -0,0 +1,6 @@
+cd ../
+
+if [ -e /usr/lib/libumem.so.1 ]; then
+    export LD_PRELOAD=/usr/lib/libumem.so.1
+fi
+ant server

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server.bat
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server.bat?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server.bat (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server.bat Mon Jul 16 09:42:28 2007
@@ -0,0 +1,2 @@
+cd ..
+ant server
\ No newline at end of file

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server.bat
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/bin/run_server.bat
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build.xml?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build.xml (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build.xml Mon Jul 16 09:42:28 2007
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<project name="test.complex_type" default="build" basedir=".">
+    <property name="thirdparty.classpath" location ="${basedir}/../base/build/classes"/>
+
+    <property environment="env"/>
+    <import file="../etc/common_build.xml"/>
+
+    <property name="wsdl.location" location="${basedir}/wsdl/perf.wsdl"/>
+
+    <mkdir dir="build/lib_sxc"/>
+    <path id="sxc.classpath">
+        <fileset dir="build/lib_sxc" includes="s*.jar"/>
+        <fileset dir="build/lib_sxc" includes="j*.jar"/>
+    </path>
+
+    <macrodef name="cxf.run">
+        <attribute name="logging-properties-file" default="${cxf.etc.dir}/logging.properties"/>
+        <attribute name="classname"/>
+        <attribute name="params" default=""/>
+        <attribute name="jvmargs" default="-D' '"/>
+        <sequential>
+            <java classname="@{classname}" fork="yes">
+                <classpath>
+                    <path refid="sxc.classpath"/>
+                    <path refid="cxf.classpath"/>
+                    <pathelement path="${thirdparty.classpath}"/>
+                    <path refid="jdk.tools.classpath"/>
+                </classpath>
+                <arg line="@{params}"/>
+                <jvmarg line="@{jvmargs}"/>
+                <!--assertions>
+                    <enable package="org.apache.cxf"/>
+                </assertions-->
+                <sysproperty key="java.util.logging.config.file" value="@{logging-properties-file}"/>
+            </java>
+        </sequential>
+    </macrodef>
+
+
+    <target name="client" description="run complex_type client">
+        <property name="param" value=""/>
+        <property name="pipe" value=""/>
+
+        <!-- for sun labs -->
+        <!--
+        <cxf.run classname="org.apache.cxf.performance.complex_type.client.Client" 
+            params="-WSDL ${wsdl.location} -Amount ${cxf.running.time} -BasedOn ${cxf.basedon} -Operation ${cxf.operation} -PacketSize ${cxf.packet.size} -Threads ${cxf.threads}"
+            jvmargs="-server -Xmx2500M -Xms2500M -Xmn1800M -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:CompileThreshold=1000 "
+            />
+          -->
+
+        <!-- for my linux boxes -->
+        <cxf.run classname="org.apache.cxf.performance.complex_type.client.Client"
+            params="-WSDL ${wsdl.location} -Amount ${cxf.running.time} -BasedOn ${cxf.basedon} -Operation ${cxf.operation} -PacketSize ${cxf.packet.size} -Threads ${cxf.threads}"
+            jvmargs="-server -Xmx1500M -Xms1500M  -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:CompileThreshold=200 -Xss128K"/>
+    </target>
+
+    <target name="server" description="run complex_type server">
+        <cxf.run classname="org.apache.cxf.performance.complex_type.server.Server"
+            params="-WSDL ${wsdl.location}"
+            jvmargs="-server -XX:CompileThreshold=1000 -Xmx1500M -Xms1500M -Xmn1000M -XX:+UseParallelGC -XX:+UseParallelOldGC"/>
+    </target>
+
+    <target name="generate.code">
+        <echo level="info" message="Generating code using wsdl2java..."/>
+        <wsdl2java file="perf.wsdl"/>
+    </target>
+
+    <property name="cxf.war.file.name" value="complex_type"/>
+    <target name="war" depends="build">
+        <cxfwar wsdl="perf.wsdl" filename="${cxf.war.file.name}.war"/>
+    </target>
+
+    <target name="client-servlet" description="run demo client hitting servlet" depends="build">
+        <property name="param" value=""/>
+        <cxf.client.run classname="org.apache.cxf.performance.complex_type.client.Client" argline=
+            "-WSDL http://localhost:8080/complex_type/services/complex_type?wsdl" />
+    </target>
+
+
+</project>

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_axis.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_axis.xml?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_axis.xml (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_axis.xml Mon Jul 16 09:42:28 2007
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<project name="test.complex_type" default="build" basedir=".">
+    <property name="thirdparty.classpath" location ="${basedir}/../base/build/classes"/>
+
+  <property environment="env"/>
+
+  <property name="wsdl.location" location="${basedir}/wsdl/perf.wsdl"/>
+
+
+  <path id="jaxws.classpath">
+    <fileset dir="${env.AXIS2_HOME}/lib" includes="*.jar"/>
+  </path>
+
+    <macrodef name="cxf.run">
+        <attribute name="logging-properties-file" default="${cxf.etc.dir}/logging.properties"/>
+        <attribute name="classname"/>
+        <attribute name="params" default=""/>
+        <attribute name="jvmargs" default="-D' '"/>
+        <sequential>
+            <java classname="@{classname}" fork="yes">
+                <classpath>
+                    <path refid="jaxws.classpath"/>
+                    <pathelement path="build/classes"/>
+                    <pathelement path="${thirdparty.classpath}"/>
+                </classpath>
+                <arg line="@{params}"/>
+                <jvmarg line="@{jvmargs}"/>
+                <!--assertions>
+                    <enable package="org.apache.cxf"/>
+                </assertions-->
+                <sysproperty key="java.util.logging.config.file" value="@{logging-properties-file}"/>
+            </java>
+        </sequential>
+    </macrodef>
+
+
+  <target name="client" description="run complex_type client">
+    <property name="param" value=""/>
+    <property name="pipe" value=""/>
+
+
+    <!-- for sun labs -->
+    <!--
+    <cxf.run classname="org.apache.cxf.performance.complex_type.client.Client" 
+        params="-WSDL ${wsdl.location} -Amount ${cxf.running.time} -BasedOn ${cxf.basedon} -Operation ${cxf.operation} -PacketSize ${cxf.packet.size} -Threads ${cxf.threads}"
+        jvmargs="-server -Xmx2500M -Xms2500M -Xmn1800M -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:CompileThreshold=1000 "
+        />
+      -->
+
+
+    <!-- for my linux boxes -->
+    <cxf.run classname="org.apache.cxf.performance.complex_type.client.Client" 
+        params="-WSDL ${wsdl.location} -Amount ${cxf.running.time} -BasedOn ${cxf.basedon} -Operation ${cxf.operation} -PacketSize ${cxf.packet.size} -Threads ${cxf.threads}" 
+        jvmargs="-server -Xmx1500M -Xms1500M  -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:CompileThreshold=200 -Xss128K"/>
+  </target>
+
+  <target name="server" description="run complex_type server">
+    <cxf.run classname="org.apache.cxf.performance.complex_type.server.Server" 
+        params="-WSDL ${wsdl.location}"
+        jvmargs="-server -XX:CompileThreshold=1000 -Xmx1500M -Xms1500M -Xmn1000M -XX:+UseParallelGC -XX:+UseParallelOldGC"/>
+  </target>
+
+
+
+</project>

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_axis.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_axis.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_axis.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_axis.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_ri.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_ri.xml?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_ri.xml (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_ri.xml Mon Jul 16 09:42:28 2007
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<project name="test.complex_type" default="build" basedir=".">
+    <property name="thirdparty.classpath" location ="${basedir}/../base/build/classes"/>
+
+  <property environment="env"/>
+
+  <property name="wsdl.dir" location="${basedir}/wsdl"/>
+  <property name="wsdl.file" value="perf.wsdl"/>
+
+  <path id="jaxws.classpath">
+    <fileset dir="${env.JAXWS_HOME}/lib" includes="*.jar"/>
+  </path>
+
+    <macrodef name="cxf.run">
+        <attribute name="logging-properties-file" default="${cxf.etc.dir}/logging.properties"/>
+        <attribute name="classname"/>
+        <attribute name="params" default=""/>
+        <attribute name="jvmargs" default="-D' '"/>
+        <sequential>
+            <java classname="@{classname}" fork="yes">
+                <classpath>
+                    <path refid="jaxws.classpath"/>
+                    <pathelement path="build/classes"/>
+                    <pathelement path="${thirdparty.classpath}"/>
+                </classpath>
+                <arg line="@{params}"/>
+                <jvmarg line="@{jvmargs}"/>
+                <!--assertions>
+                    <enable package="org.apache.cxf"/>
+                </assertions-->
+                <sysproperty key="java.util.logging.config.file" value="@{logging-properties-file}"/>
+            </java>
+        </sequential>
+    </macrodef>
+
+
+  <target name="client" description="run complex_type client">
+    <property name="param" value=""/>
+    <property name="pipe" value=""/>
+
+
+    <!-- for sun labs -->
+    <!--
+    <cxf.run classname="org.apache.cxf.performance.complex_type.client.Client" 
+        params="-WSDL ${wsdl.dir}/${wsdl.file} -Amount ${cxf.running.time} -BasedOn ${cxf.basedon} -Operation ${cxf.operation} -PacketSize ${cxf.packet.size} -Threads ${cxf.threads}"
+        jvmargs="-server -Xmx2500M -Xms2500M -Xmn1800M -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:CompileThreshold=1000 "
+        />
+      -->
+
+
+    <!-- for my linux boxes -->
+    <cxf.run classname="org.apache.cxf.performance.complex_type.client.Client" 
+        params="-WSDL ${wsdl.dir}/${wsdl.file} -Amount ${cxf.running.time} -BasedOn ${cxf.basedon} -Operation ${cxf.operation} -PacketSize ${cxf.packet.size} -Threads ${cxf.threads}" 
+        jvmargs="-server -Xmx1500M -Xms1500M  -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:CompileThreshold=200 -Xss128K"/>
+  </target>
+
+  <target name="server" description="run complex_type server">
+    <cxf.run classname="org.apache.cxf.performance.complex_type.server.Server" 
+        params="-WSDL ${basedir}/wsdl/${wsdl.file}"
+        jvmargs="-server -XX:CompileThreshold=1000 -Xmx1500M -Xms1500M -Xmn1000M -XX:+UseParallelGC -XX:+UseParallelOldGC"/>
+  </target>
+
+
+
+</project>

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_ri.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_ri.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_ri.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/build_ri.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/client/Client.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/client/Client.java?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/client/Client.java (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/client/Client.java Mon Jul 16 09:42:28 2007
@@ -0,0 +1,252 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.performance.complex_type.client;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.namespace.QName;
+
+import org.apache.cxf.pat.internal.TestCaseBase;
+import org.apache.cxf.pat.internal.TestResult;
+import org.apache.cxf.cxf.performance.DocPortType;
+import org.apache.cxf.cxf.performance.DocPortTypeWrapped;
+import org.apache.cxf.cxf.performance.RPCPortType;
+import org.apache.cxf.cxf.performance.PerfService;
+import org.apache.cxf.cxf.performance.types.ColourEnum;
+import org.apache.cxf.cxf.performance.types.NestedComplexType;
+import org.apache.cxf.cxf.performance.types.NestedComplexTypeSeq;
+import org.apache.cxf.cxf.performance.types.SimpleStruct;
+//import org.apache.cxf.cxf.performance.server.Server;
+import org.apache.cxf.performance.complex_type.server.Server;
+
+
+public final class Client extends TestCaseBase<DocPortType> {
+    private static final QName SERVICE_NAME = new QName(
+                                                       "http://cxf.apache.org/cxf/performance",
+                                                       "PerfService");          
+    private static final QName PORT_NAME = new QName(
+                                                    "http://cxf.apache.org/cxf/performance",
+                                                    "DocPortType");
+    private PerfService cs;
+    private final NestedComplexTypeSeq complexTypeSeq = new NestedComplexTypeSeq();
+    private int opid;
+
+    private byte[] inputBase64;
+    private String inputString = new String();
+
+    private final int asciiCount = 1 * 1024;
+
+    public Client(String[] args, boolean warmup) {
+        super("Base TestCase", args, warmup);
+        serviceName = "PerfService";
+        portName = "PerfService";
+        operationName = "echoComplexTypeDoc";
+        wsdlNameSpace = "http://cxf.apache.org/cxf/performance";
+        amount = 30;
+        packetSize = 1;
+    }
+
+    public void processArgs() {
+        super.processArgs();
+        if (getOperationName().equals("echoStringDoc")) {
+            opid = 0;
+        } else if (getOperationName().equals("echoBase64Doc")) {
+            opid = 1;
+        } else if (getOperationName().equals("echoComplexTypeDoc")) {
+            opid = 2;
+        } else {
+            System.out.println("Invalid operation: " + getOperationName());
+        }
+    }
+
+    public static void main(String args[]) throws Exception {
+
+        int threadIdx = -1;
+        for (int x = 0; x < args.length; x++) {
+            if ("-Threads".equals(args[x])) {
+                threadIdx = x + 1;
+            }
+        }
+
+        List<String> threadList = new ArrayList<String>();
+        if (threadIdx != -1) {
+            String threads[] = args[threadIdx].split(",");
+            for (String s : threads) {
+                if (s.indexOf("-") != -1) {
+                    String s1 = s.substring(0, s.indexOf("-"));
+                    String s2 = s.substring(s.indexOf("-") + 1);
+                    int i1 = Integer.parseInt(s1);
+                    int i2 = Integer.parseInt(s2);
+                    for (int x = i1; x <= i2; x++) {
+                        threadList.add(Integer.toString(x));
+                    }                
+                } else {
+                    threadList.add(s);
+                } 
+            }
+        } else {
+            threadList.add("1");
+        }
+        System.out.println(threadList);
+        boolean first = true;
+        for (String numThreads: threadList) {
+            if (threadIdx != -1) {
+                args[threadIdx] = numThreads;
+            }
+            System.out.println(Arrays.asList(args));
+            Client client = new Client(args, first);
+            first = false;
+            client.initialize(); 
+
+
+            client.run();
+
+            List results = client.getTestResults();
+            TestResult testResult = null;
+
+            double rt = 0.0;
+            double tp = 0.0;
+            for (Iterator iter = results.iterator(); iter.hasNext();) {
+                testResult = (TestResult)iter.next();
+                System.out.println("Throughput " + testResult.getThroughput());
+                System.out.println("AVG Response Time " + testResult.getAvgResponseTime());
+                rt += testResult.getAvgResponseTime();
+                tp += testResult.getThroughput();
+            }
+            rt *= 1000;
+            rt /= (double)results.size();
+
+            System.out.println("Total(" + numThreads + "):  " + tp + " tps     " + rt + " ms");
+
+            System.out.println();
+            System.out.println();
+            System.out.println();
+        }
+        System.out.println("cxf client is going to shutdown!");
+        System.exit(0);
+    }
+
+    private SimpleStruct getSimpleStruct() throws DatatypeConfigurationException {
+        SimpleStruct ss = new SimpleStruct();
+        ss.setVarFloat(Float.MAX_VALUE);
+        ss.setVarShort(Short.MAX_VALUE);
+        ss.setVarByte(Byte.MAX_VALUE);
+        ss.setVarDecimal(new BigDecimal("3.1415926"));
+        ss.setVarDouble(Double.MAX_VALUE);
+        ss.setVarString("1234567890!@#$%^&*()abcdefghijk");
+        ss.setVarAttrString("1234567890!@#$%^&*()abcdefghijk");
+        ss.setVarDateTime(DatatypeFactory.newInstance().newXMLGregorianCalendar(2005, 12, 3, 0, 0, 9, 0, 0));
+        return ss;
+    }
+
+
+    private NestedComplexType createComplexType() {
+        NestedComplexType complexType = new NestedComplexType();
+        complexType.setVarString("#12345ABc");
+        complexType.setVarUByte((short)255);
+        complexType.setVarUnsignedLong(new BigInteger("13691056728"));
+        complexType.setVarFloat(Float.MAX_VALUE);
+        complexType.setVarQName(new QName("return", "return"));
+        try {
+            complexType.setVarStruct(getSimpleStruct());
+        } catch (DatatypeConfigurationException e) {
+            e.printStackTrace();
+        }
+
+        complexType.setVarEnum(ColourEnum.RED);
+        byte[] binary = new byte[256 * packetSize];
+        for (int idx = 0; idx < 1 * packetSize; idx++) {
+            for (int jdx = 0; jdx < 256; jdx++) {
+                binary[idx * 256 + jdx] = (byte)(jdx - 128);
+            }
+        }
+        complexType.setVarHexBinary(binary);
+        complexType.setVarBase64Binary(binary);
+        return complexType;
+    }
+
+    public void initTestData() {
+        //for (int i = 0; i < packetSize; i++) {
+        NestedComplexType ct = createComplexType();
+        for (int i = 0; i < 1; i++) {
+            complexTypeSeq.getItem().add(ct);
+        }            
+        // init String and Binary
+        String temp = "abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+?><[]/0123456789";
+        inputBase64 = new byte[1024 * packetSize];
+        for (int idx = 0; idx < 4 * packetSize; idx++) {
+            for (int jdx = 0; jdx < 256; jdx++) {
+                inputBase64[idx * 256 + jdx] = (byte)(jdx - 128);
+            }
+        }
+
+        for (int i = 0; i < asciiCount / temp.length() * packetSize; i++) {
+            inputString = inputString + temp;
+        }
+
+    }
+
+    public void doJob(DocPortType port) {
+        try {
+            switch (opid) {
+            case 0:
+                port.echoStringDoc(inputString);
+                break;
+            case 1:
+                port.echoBase64Doc(inputBase64);
+                break;
+            case 2:
+                port.echoComplexTypeDoc(complexTypeSeq);
+                break;
+            default:
+                port.echoComplexTypeDoc(complexTypeSeq);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public DocPortType getPort() {
+        try {
+            URL wsdl = null;
+            if ((wsdlPath.startsWith("file://")) || (wsdlPath.startsWith("http://"))) {
+                wsdl = new URL(wsdlPath);
+            } else {
+                wsdl = new URL("file://" + wsdlPath);
+            }
+            cs = new PerfService(wsdl, SERVICE_NAME);
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+        }
+        return cs.getSoapHttpDocLitPort();
+    }
+
+    public void printUsage() {
+        System.out.println("Syntax is: Client [-WSDL wsdllocation] [-PacketSize packetnumber] ");
+    }
+}

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/client/Client.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/client/Client.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/client/Client.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/Server.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/Server.java?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/Server.java (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/Server.java Mon Jul 16 09:42:28 2007
@@ -0,0 +1,56 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.performance.complex_type.server;
+
+import javax.xml.ws.Endpoint;
+
+
+
+public class Server implements Runnable {
+
+    
+    public Server(String address) throws Exception {
+        System.out.println("Starting Server");
+        Object implementor = new ServerImpl();
+        Endpoint.publish(address, implementor);
+        System.out.println("Server published " + address);
+    }
+
+    public Server(String[] args) throws Exception {
+        this("http://pdrhas42:20003/performance/SoapHttpDocLitPort");
+    }
+    
+    public static void main(String args[]) throws Exception {
+        Server server = new Server(args);
+        server.run();
+
+	Thread.sleep(10000000);
+    }
+    
+    public void run() {
+        System.out.println("running server");
+        System.out.println("READY");
+    }
+    
+    void shutdown(boolean wait) {
+        System.out.println("shutting down server");
+    }
+
+    
+}

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/Server.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/Server.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/Server.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/ServerImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/ServerImpl.java?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/ServerImpl.java (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/ServerImpl.java Mon Jul 16 09:42:28 2007
@@ -0,0 +1,58 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.performance.complex_type.server;
+
+import java.util.logging.Logger;
+
+import org.apache.cxf.cxf.performance.DocPortType;
+import org.apache.cxf.cxf.performance.DocPortTypeWrapped;
+import org.apache.cxf.cxf.performance.RPCPortType;
+import org.apache.cxf.cxf.performance.PerfService;
+import org.apache.cxf.cxf.performance.types.NestedComplexType;
+import org.apache.cxf.cxf.performance.types.NestedComplexTypeSeq;
+
+
+@javax.jws.WebService(portName = "SoapHttpDocLitPort", serviceName = "PerfService",                                      
+                      targetNamespace = "http://cxf.apache.org/cxf/performance",
+                      endpointInterface = "org.apache.cxf.cxf.performance.DocPortType")
+
+public class ServerImpl implements DocPortType {
+
+    private static final Logger LOG = 
+        Logger.getLogger(ServerImpl.class.getPackage().getName());
+    
+    public NestedComplexTypeSeq echoComplexTypeDoc(NestedComplexTypeSeq request) {
+        //System.out.println("Executing operation echoComplexTypeDoc\n");
+        //System.out.println("Message received: " + request + "\n");
+        return request;
+    }
+   
+    public String echoStringDoc(String request) {
+        //System.out.println("Executing operation echoStringDoc\n");
+        //System.out.println("Message received: " + request + "\n");
+        return request;
+    }
+   
+    public byte[] echoBase64Doc(byte[] request) {
+        //System.out.println("Executing operation echoBase64Doc\n");
+        //System.out.println("Message received: " + request + "\n");
+        return request;
+    }
+}
+    

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/ServerImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/ServerImpl.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/src/org/apache/cxf/performance/complex_type/server/ServerImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/cxf-servlet.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/cxf-servlet.xml?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/cxf-servlet.xml (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/cxf-servlet.xml Mon Jul 16 09:42:28 2007
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<endpoints>
+
+    <endpoint
+        name="complex_type"
+        interface="org.apache.cxf.performance.complex_type.ComplexPortType"
+        implementation="org.apache.cxf.performance.complex_type.server.ServerImpl"
+        wsdl="WEB-INF/wsdl/complex_type.wsdl"
+        service="{http://cxf.apache.org/performance/complex_type}ComplexService"
+        port="{http://cxf.apache.org/performance/complex_type}SoapPort"
+        url-pattern="/complex_type" />
+
+</endpoints>

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/cxf-servlet.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/cxf-servlet.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/cxf-servlet.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/cxf-servlet.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/perf.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/perf.wsdl?view=auto&rev=556665
==============================================================================
--- incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/perf.wsdl (added)
+++ incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/perf.wsdl Mon Jul 16 09:42:28 2007
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+          xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+          xmlns:tns="http://cxf.apache.org/cxf/performance"
+          xmlns:x1="http://cxf.apache.org/cxf/performance/types"
+          xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+          targetNamespace="http://cxf.apache.org/cxf/performance">
+
+    <types>
+        <schema targetNamespace="http://cxf.apache.org/cxf/performance/types"
+                xmlns="http://www.w3.org/2001/XMLSchema"
+                elementFormDefault="qualified">
+            <complexType name="SimpleStruct">
+                <sequence>
+                    <element name="varFloat" type="xsd:float"/>
+                    <element name="varShort" type="xsd:short"/>
+                    <element name="varString" type="xsd:string"/>
+                    <element name="varByte" type="xsd:byte"/>
+                    <element name="varDecimal" type="xsd:decimal"/>
+                    <element name="varDouble" type="xsd:double"/>
+                    <element name="varDateTime" type="xsd:dateTime"/>
+                </sequence>
+                <attribute name="varAttrString" type="xsd:string"/>
+            </complexType>
+            <simpleType name="ColourEnum">
+                <restriction base="xsd:string">
+                    <enumeration value="RED"/>
+                    <enumeration value="GREEN"/>
+                    <enumeration value="BLUE"/>
+                </restriction>
+            </simpleType>
+            <complexType name="NestedComplexType">
+                <sequence>
+                    <element name="varString" type="xsd:string"/>
+                    <element name="varUByte" type="xsd:unsignedByte"/>
+                    <element name="varUnsignedLong" type="xsd:unsignedLong"/>
+                    <element name="varFloat" type="xsd:float"/>
+                    <element name="varQName" type="xsd:QName"/>
+                    <element name="varBase64Binary" type="xsd:base64Binary"/>
+                    <element name="varHexBinary" type="xsd:hexBinary"/>
+                    <element name="varStruct" type="x1:SimpleStruct"/>
+                    <element name="varEnum" type="x1:ColourEnum"/>
+                </sequence>
+            </complexType>
+            <complexType name="NestedComplexTypeSeq">
+                <sequence>
+                    <element maxOccurs="unbounded" minOccurs="0" name="item" type="x1:NestedComplexType"/>
+                </sequence>
+            </complexType>
+
+            <element name="echoStringDoc">
+                <complexType>
+                    <sequence>
+                        <element name="in" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="echoStringDocResponse">
+                <complexType>
+                    <sequence>
+                        <element name="out" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="echoBase64Doc">
+                <complexType>
+                    <sequence>
+                        <element name="in" type="xsd:base64Binary"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="echoBase64DocResponse">
+                <complexType>
+                    <sequence>
+                        <element name="out" type="xsd:base64Binary"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+            <element name="echoComplexTypeDoc">
+                <complexType>
+                    <sequence>
+                        <element name="in" type="x1:NestedComplexTypeSeq"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="echoComplexTypeDocResponse">
+                <complexType>
+                    <sequence>
+                        <element name="out" type="x1:NestedComplexTypeSeq"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+        </schema>
+    </types>
+
+    <message name="echoStringRPCRequest">
+        <part name="in" type="xsd:string"/>
+    </message>
+    <message name="echoStringRPCResponse">
+        <part name="out" type="xsd:string"/>
+    </message>
+    <message name="echoBase64RPCRequest">
+        <part name="in" type="xsd:base64Binary"/>
+    </message>
+    <message name="echoBase64RPCResponse">
+        <part name="out" type="xsd:base64Binary"/>
+    </message>
+
+    <message name="echoStringDoc">
+        <part name="in" element="x1:echoStringDoc"/>
+    </message>
+    <message name="echoStringDocResponse">
+        <part name="out" element="x1:echoStringDocResponse"/>
+    </message>
+    <message name="echoBase64Doc">
+        <part name="in" element="x1:echoBase64Doc"/>
+    </message>
+    <message name="echoBase64DocResponse">
+        <part name="out" element="x1:echoBase64DocResponse"/>
+    </message>
+    <message name="echoComplexTypeDoc">
+        <part name="in" element="x1:echoComplexTypeDoc"/>
+    </message>
+    <message name="echoComplexTypeDocResponse">
+        <part name="out" element="x1:echoComplexTypeDocResponse"/>
+    </message>
+
+    <message name="echoComplexTypeRPCRequest">
+        <part name="in" type="x1:NestedComplexTypeSeq"/>
+    </message>
+    <message name="echoComplexTypeRPCResponse">
+        <part name="out" type="x1:NestedComplexTypeSeq"/>
+    </message>
+
+    <portType name="RPCPortType">
+        <operation name="echoStringRPC">
+            <input name="echoStringRPCRequest" message="tns:echoStringRPCRequest"/>
+            <output name="echoStringRPCResponse" message="tns:echoStringRPCResponse"/>
+        </operation>
+        <operation name="echoBase64RPC">
+            <input name="echoBase64RPCRequest" message="tns:echoBase64RPCRequest"/>
+            <output name="echoBase64RPCResponse" message="tns:echoBase64RPCResponse"/>
+        </operation>
+        <operation name="echoComplexTypeRPC">
+            <input name="echoComplexTypeRPCRequest" message="tns:echoComplexTypeRPCRequest"/>
+            <output name="echoComplexTypeRPCResponse" message="tns:echoComplexTypeRPCResponse"/>
+        </operation>
+    </portType>
+
+    <portType name="DocPortType">
+        <operation name="echoStringDoc">
+            <input name="echoStringDoc" message="tns:echoStringDoc"/>
+            <output name="echoStringDocResponse" message="tns:echoStringDocResponse"/>
+        </operation>
+        <operation name="echoBase64Doc">
+            <input name="echoBase64Doc" message="tns:echoBase64Doc"/>
+            <output name="echoBase64DocResponse" message="tns:echoBase64DocResponse"/>
+        </operation>
+        <operation name="echoComplexTypeDoc">
+            <input name="echoComplexTypeDoc" message="tns:echoComplexTypeDoc"/>
+            <output name="echoComplexTypeDocResponse" message="tns:echoComplexTypeDocResponse"/>
+        </operation>
+    </portType>
+
+    <portType name="DocPortTypeWrapped">
+        <jaxws:bindings xmlns:jaxws="http://java.sun.com/xml/ns/jaxws">
+            <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle>
+        </jaxws:bindings>
+        <operation name="echoStringDoc">
+            <input name="echoStringDoc" message="tns:echoStringDoc"/>
+            <output name="echoStringDocResponse" message="tns:echoStringDocResponse"/>
+        </operation>
+        <operation name="echoBase64Doc">
+            <input name="echoBase64Doc" message="tns:echoBase64Doc"/>
+            <output name="echoBase64DocResponse" message="tns:echoBase64DocResponse"/>
+        </operation>
+        <operation name="echoComplexTypeDoc">
+            <input name="echoComplexTypeDoc" message="tns:echoComplexTypeDoc"/>
+            <output name="echoComplexTypeDocResponse" message="tns:echoComplexTypeDocResponse"/>
+        </operation>
+    </portType>
+
+    <binding name="SoapBindingRPCLit" type="tns:RPCPortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <operation name="echoStringRPC">
+            <soap:operation style="rpc"/>
+            <input>
+                <soap:body use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoBase64RPC">
+            <soap:operation style="rpc"/>
+            <input>
+                <soap:body use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoComplexTypeRPC">
+            <soap:operation style="rpc"/>
+            <input>
+                <soap:body use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+    </binding>
+
+    <binding name="SoapBindingDocLit" type="tns:DocPortType">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+        <operation name="echoStringDoc">
+            <soap:operation style="document"/>
+            <input>
+                <soap:body use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoBase64Doc">
+            <soap:operation style="document"/>
+            <input>
+                <soap:body use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoComplexTypeDoc">
+            <soap:operation style="document"/>
+            <input>
+                <soap:body use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+    </binding>
+
+    <binding name="SoapBindingDocLitWrapped" type="tns:DocPortTypeWrapped">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+        <operation name="echoStringDoc">
+            <soap:operation style="document"/>
+            <input>
+                <soap:body use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoBase64Doc">
+            <soap:operation style="document"/>
+            <input>
+                <soap:body use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoComplexTypeDoc">
+            <soap:operation style="document"/>
+            <input>
+                <soap:body use="literal"/>
+            </input>
+            <output>
+                <soap:body use="literal"/>
+            </output>
+        </operation>
+    </binding>
+
+    <service name="PerfService">
+        <port name="SoapHttpRPCLitPort" binding="tns:SoapBindingRPCLit">
+            <soap:address location="http://localhost:20003/performance/SoapHttpRPCLitPort"/>
+        </port>
+        <port name="SoapHttpDocLitPort" binding="tns:SoapBindingDocLit">
+            <soap:address location="http://localhost:20003/performance/SoapHttpDocLitPort"/>
+        </port>
+        <port name="SoapHttpDocLitPortWrapped" binding="tns:SoapBindingDocLitWrapped">
+            <soap:address location="http://localhost:20003/performance/SoapHttpDocLitWrappedPort"/>
+        </port>
+    </service>
+
+</definitions>

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/perf.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/perf.wsdl
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/benchmark/performance/soap_http_doc_lit/wsdl/perf.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml



Mime
View raw message