Author: alessio.soldano(a)jboss.com
Date: 2009-09-01 13:30:39 -0400 (Tue, 01 Sep 2009)
New Revision: 10647
Added:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/BenchmarkTest.java
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/Result.java
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/Runner.java
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/DummyTest.java
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/BasicTest.java
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/Endpoint.java
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/EndpointImpl.java
Modified:
framework/trunk/testsuite/test/ant-import/build-jars-jaxws.xml
Log:
Adding perfomance test structure
Modified: framework/trunk/testsuite/test/ant-import/build-jars-jaxws.xml
===================================================================
--- framework/trunk/testsuite/test/ant-import/build-jars-jaxws.xml 2009-08-27 20:50:51 UTC
(rev 10646)
+++ framework/trunk/testsuite/test/ant-import/build-jars-jaxws.xml 2009-09-01 17:30:39 UTC
(rev 10647)
@@ -27,7 +27,15 @@
<include
name="org/jboss/test/ws/jaxws/anonymous/AnonymousImpl.class"/>
</classes>
</war>
-
+
+ <!-- jaxws-benchmark-basic -->
+ <jar
jarfile="${tests.output.dir}/test-libs/jaxws-benchmark-basic.jar">
+ <fileset dir="${tests.output.dir}/test-classes">
+ <include
name="org/jboss/test/ws/jaxws/benchmark/test/basic/Endpoint.class"/>
+ <include
name="org/jboss/test/ws/jaxws/benchmark/test/basic/EndpointImpl.class"/>
+ </fileset>
+ </jar>
+
<!-- jaxws-binding -->
<war warfile="${tests.output.dir}/test-libs/jaxws-binding.war"
webxml="${tests.output.dir}/test-resources/jaxws/binding/WEB-INF/web.xml">
<classes dir="${tests.output.dir}/test-classes">
Added:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/BenchmarkTest.java
===================================================================
---
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/BenchmarkTest.java
(rev 0)
+++
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/BenchmarkTest.java 2009-09-01
17:30:39 UTC (rev 10647)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.benchmark;
+
+/**
+ *
+ * @author alessio.soldano(a)jboss.com
+ * @since 01-Sep-2009
+ *
+ */
+public interface BenchmarkTest
+{
+ public Object prepare() throws Exception;
+
+ public void performIteration(Object port) throws Exception;
+}
Property changes on:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/BenchmarkTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/Result.java
===================================================================
--- framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/Result.java
(rev 0)
+++
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/Result.java 2009-09-01
17:30:39 UTC (rev 10647)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.benchmark;
+
+/**
+ *
+ * @author alessio.soldano(a)jboss.com
+ * @since 01-Sep-2009
+ *
+ */
+public class Result
+{
+ private String id;
+ private int failures = 0;
+ private int successes = 0;
+ private long processingTime;
+ private long preparationTime;
+
+ public Result(String id)
+ {
+ this.id = id;
+ }
+
+ public void failure()
+ {
+ failures++;
+ }
+
+ public void success()
+ {
+ successes++;
+ }
+
+ public int getFailures()
+ {
+ return failures;
+ }
+
+ public int getSuccesses()
+ {
+ return successes;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public long getProcessingTime()
+ {
+ return processingTime;
+ }
+
+ public void setProcessingTime(long processingTime)
+ {
+ this.processingTime = processingTime;
+ }
+
+ public int getTotal()
+ {
+ return successes + failures;
+ }
+
+ public double getAverageProcessingTime()
+ {
+ return Math.round(100 * processingTime / getTotal()) / 100;
+ }
+
+ public long getPreparationTime()
+ {
+ return preparationTime;
+ }
+
+ public void setPreparationTime(long preparationTime)
+ {
+ this.preparationTime = preparationTime;
+ }
+}
Property changes on:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/Result.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/Runner.java
===================================================================
--- framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/Runner.java
(rev 0)
+++
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/Runner.java 2009-09-01
17:30:39 UTC (rev 10647)
@@ -0,0 +1,239 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.benchmark;
+
+import gnu.getopt.Getopt;
+import gnu.getopt.LongOpt;
+
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+
+import org.jboss.wsf.common.DOMUtils;
+
+/**
+ *
+ * @author alessio.soldano(a)jboss.com
+ * @since 01-Sep-2009
+ *
+ */
+public class Runner
+{
+
+ private static int threadCount = 5;
+
+ private static int runs = 10;
+
+ private static int iterations = 10;
+
+ private static long sleep = 1500;
+
+ private static boolean verbose = false;
+
+
+ public static class BenchmarkCallable implements Callable<Result> {
+
+ private final BenchmarkTest test;
+ private int iterations;
+ private String id;
+
+ public BenchmarkCallable(String id, BenchmarkTest test, int iterations) {
+ this.test = test;
+ this.iterations = iterations;
+ this.id = id;
+ }
+
+ public Result call() throws Exception
+ {
+ Result result = new Result(id);
+ long startTime = new Date().getTime();
+ Object port = test.prepare();
+ result.setPreparationTime(new Date().getTime() - startTime);
+ startTime = new Date().getTime();
+ for (int i = 0; i < iterations; i++)
+ {
+ try
+ {
+ test.performIteration(port);
+ result.success();
+ }
+ catch (Throwable e)
+ {
+ e.printStackTrace();
+ result.failure();
+ }
+ }
+ result.setProcessingTime(new Date().getTime() - startTime);
+ return result;
+ }
+ }
+
+ private static BenchmarkTest parseArguments(String[] args) throws Exception
+ {
+ String shortOpts = "t:r:s:i:vh";
+ LongOpt[] longOpts =
+ {
+ new LongOpt("deployment", LongOpt.REQUIRED_ARGUMENT, null,
'd'),
+ new LongOpt("threads", LongOpt.REQUIRED_ARGUMENT, null, 't'),
+ new LongOpt("runs", LongOpt.REQUIRED_ARGUMENT, null, 'r'),
+ new LongOpt("sleep", LongOpt.REQUIRED_ARGUMENT, null, 's'),
+ new LongOpt("iterations", LongOpt.REQUIRED_ARGUMENT, null,
'i'),
+ new LongOpt("verbose", LongOpt.NO_ARGUMENT, null, 'v'),
+ new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h')
+ };
+
+ Getopt getopt = new Getopt("Benchmark-runner", args, shortOpts,
longOpts);
+ int c;
+ while ((c = getopt.getopt()) != -1)
+ {
+ switch (c)
+ {
+ case 't':
+ threadCount = Integer.parseInt(getopt.getOptarg());
+ break;
+ case 'r':
+ runs = Integer.parseInt(getopt.getOptarg());
+ break;
+ case 's':
+ sleep = Long.parseLong(getopt.getOptarg());
+ break;
+ case 'i':
+ iterations = Integer.parseInt(getopt.getOptarg());
+ break;
+ case 'v':
+ verbose = true;
+ break;
+ case 'h':
+ printHelp();
+ System.exit(0);
+ case '?':
+ System.exit(1);
+ }
+ }
+
+ int classPos = getopt.getOptind();
+ if (classPos >= args.length)
+ {
+ System.err.println("Error: test-class was not specified!");
+ printHelp();
+ System.exit(1);
+ }
+
+ try
+ {
+ Class<?> clazz = Class.forName(args[classPos]);
+ System.out.println(BenchmarkTest.class.isAssignableFrom(clazz));
+ System.out.println(clazz.isAssignableFrom(BenchmarkTest.class));
+
+ return (BenchmarkTest)clazz.newInstance();
+ }
+ catch (Exception e)
+ {
+ System.out.println("Cannot instanciate " + args[classPos]);
+ throw e;
+ }
+ }
+
+ private static void printHelp()
+ {
+ PrintStream out = System.out;
+ out.println("Benchmark-runner is a cmd line tool that performs a benchmark
running a test multiple time\n");
+ out.println("usage: Benchmark-runner [options] <test-class>\n");
+ out.println("options: ");
+ out.println(" -h, --help Show this help
message");
+ out.println(" -v, --verbose Show verbose
results");
+ out.println(" -s, --sleep=<time-in-ms> How many millisecs to
wait between runs");
+ out.println(" -r, --runs=<number-of-runs> How many runs to
do");
+ out.println(" -i, --iterations=<num-of-iters> How many iterations
to do in each run");
+ out.println(" -t, --threads=<number-of-threads> How many concurrent
threads to create");
+ out.flush();
+ }
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) throws Exception
+ {
+ BenchmarkTest test = parseArguments(args);
+
+ // Workaround for JBWS-2681
+ test.prepare();
+
+ List<Callable<Result>> callables = new
ArrayList<Callable<Result>>(threadCount);
+
+ long total = 0;
+ long failed = 0;
+ long procTime = 0;
+ for (int run = 0; run < runs; run++)
+ {
+ System.out.println("*\n RUN " + run + "\n*");
+ callables.clear();
+ for (int i = 0; i < threadCount; i++)
+ {
+ callables.add(new BenchmarkCallable(String.valueOf(i), test, iterations));
+ }
+
+ DOMUtils.clearThreadLocals();
+
+ ExecutorService es = Executors.newFixedThreadPool(threadCount);
+ long startProcTime = new Date().getTime();
+ List<Future<Result>> futures = es.invokeAll(callables);
+ procTime = procTime + (new Date().getTime() - startProcTime);
+
+ try
+ {
+ Thread.sleep(sleep);
+ }
+ catch (InterruptedException ie)
+ {
+ //ignore
+ }
+
+ for (Future<Result> f : futures)
+ {
+ Result result = f.get();
+ long subtotal = result.getTotal();
+ total = total + subtotal;
+ failed = failed + result.getFailures();
+ if (verbose)
+ {
+ System.out.println(result.getId() + " -> " +
result.getAverageProcessingTime() + " ms/iteration, " + subtotal + "
iterations, " + result.getFailures()
+ + " failures, " + result.getPreparationTime() + " ms
of preparation.");
+ }
+ }
+ System.out.println();
+ }
+ System.out.println("------------------------------------");
+ System.out.println("Iterations: " + total);
+ System.out.println("Failures: " + failed);
+ System.out.println("Total processing time: " + procTime + "
ms");
+ System.out.println("Iterations/sec: " + 1000 * total / procTime);
+ System.out.println("------------------------------------");
+
+ }
+
+}
Property changes on:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/Runner.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/DummyTest.java
===================================================================
---
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/DummyTest.java
(rev 0)
+++
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/DummyTest.java 2009-09-01
17:30:39 UTC (rev 10647)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.benchmark.test;
+
+import org.jboss.test.ws.jaxws.benchmark.BenchmarkTest;
+
+/**
+ *
+ * @author alessio.soldano(a)jboss.com
+ * @since 01-Sep-2009
+ *
+ */
+public class DummyTest implements BenchmarkTest
+{
+
+ public void performIteration(Object port) throws Exception
+ {
+ System.out.println("Performing iteration...");
+ try
+ {
+ Thread.sleep(150);
+ }
+ catch (Exception e)
+ {
+ }
+ }
+
+ public Object prepare() throws Exception
+ {
+ System.out.println("Preparing...");
+ try
+ {
+ Thread.sleep(500);
+ }
+ catch (Exception e)
+ {
+ }
+ return null;
+ }
+
+}
Property changes on:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/DummyTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/BasicTest.java
===================================================================
---
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/BasicTest.java
(rev 0)
+++
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/BasicTest.java 2009-09-01
17:30:39 UTC (rev 10647)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.benchmark.test.basic;
+
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+
+import org.jboss.test.ws.jaxws.benchmark.BenchmarkTest;
+import org.jboss.wsf.test.JBossWSTestHelper;
+
+/**
+ *
+ * @author alessio.soldano(a)jboss.com
+ * @since 01-Sep-2009
+ *
+ */
+public class BasicTest implements BenchmarkTest
+{
+ private String endpointURL = "http://" + JBossWSTestHelper.getServerHost() +
":8080/jaxws-benchmark-basic/EndpointImpl";
+ private String targetNS =
"http://basic.test.benchmark.jaxws.ws.test.jboss.org/";
+
+ public Object prepare() throws Exception
+ {
+ URL wsdlURL = new URL(endpointURL + "?wsdl");
+ QName serviceName = new QName(targetNS, "EndpointService");
+
+ Service service = Service.create(wsdlURL, serviceName);
+ return service.getPort(Endpoint.class);
+ }
+
+ public void performIteration(Object port) throws Exception
+ {
+ String par = "Hello" + Math.random();
+ String ret = ((Endpoint)port).echo(par);
+ if (!(par.equals(ret)))
+ {
+ throw new Exception("Unexpected result: " + ret);
+ }
+ }
+
+}
Property changes on:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/BasicTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/Endpoint.java
===================================================================
---
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/Endpoint.java
(rev 0)
+++
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/Endpoint.java 2009-09-01
17:30:39 UTC (rev 10647)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.benchmark.test.basic;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+@WebService (name="Endpoint")
+@SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface Endpoint
+{
+ @WebMethod(operationName = "echoString", action =
"urn:EchoString")
+ String echo(String input);
+}
Property changes on:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/Endpoint.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/EndpointImpl.java
===================================================================
---
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/EndpointImpl.java
(rev 0)
+++
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/EndpointImpl.java 2009-09-01
17:30:39 UTC (rev 10647)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.benchmark.test.basic;
+
+import javax.jws.WebService;
+
+import org.jboss.logging.Logger;
+import javax.ejb.Stateless;
+
+@Stateless
+@WebService(serviceName="EndpointService", portName="EndpointPort",
endpointInterface = "org.jboss.test.ws.jaxws.benchmark.test.basic.Endpoint")
+public class EndpointImpl
+{
+ // Provide logging
+ private static Logger log = Logger.getLogger(EndpointImpl.class);
+
+ public String echo(String input)
+ {
+ log.info("echo: " + input);
+ return input;
+ }
+}
Property changes on:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/benchmark/test/basic/EndpointImpl.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF