summaryrefslogtreecommitdiffstats
path: root/java/sca/samples/binding-ws-calculator/src/main
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-01-28 00:52:19 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-01-28 00:52:19 +0000
commit16f076c0b598f2b29df466eb452ba1419b0d0d6f (patch)
tree1600e73fb773f84791197623e7c7856643a90dad /java/sca/samples/binding-ws-calculator/src/main
parentc34b55373044d9d1f35251afebce5cda2a01fa12 (diff)
Fork a client thread to call the service after it's ready
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@738326 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/samples/binding-ws-calculator/src/main')
-rw-r--r--java/sca/samples/binding-ws-calculator/src/main/java/calculator/CalculatorClient.java29
1 files changed, 18 insertions, 11 deletions
diff --git a/java/sca/samples/binding-ws-calculator/src/main/java/calculator/CalculatorClient.java b/java/sca/samples/binding-ws-calculator/src/main/java/calculator/CalculatorClient.java
index af01e58e62..50b81ace2a 100644
--- a/java/sca/samples/binding-ws-calculator/src/main/java/calculator/CalculatorClient.java
+++ b/java/sca/samples/binding-ws-calculator/src/main/java/calculator/CalculatorClient.java
@@ -40,17 +40,24 @@ public class CalculatorClient {
@Init
public void calculate() {
-
- // Calculate
- try {
- System.out.println("SCA API ClassLoader: " + print(Reference.class.getClassLoader()));
- System.out.println("3 + 2=" + calculatorService.add(3, 2));
- System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
- System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
- System.out.println("3 / 2=" + calculatorService.divide(3, 2));
- } catch (Throwable e) {
- e.printStackTrace();
- }
+ // The calls cannot be done in the same thread as the services are starting
+ // Fork a new thread
+ Thread thread = new Thread() {
+ public void run() {
+ // Calculate
+ try {
+ Thread.sleep(3000);
+ System.out.println("SCA API ClassLoader: " + print(Reference.class.getClassLoader()));
+ System.out.println("3 + 2=" + calculatorService.add(3, 2));
+ System.out.println("3 - 2=" + calculatorService.subtract(3, 2));
+ System.out.println("3 * 2=" + calculatorService.multiply(3, 2));
+ System.out.println("3 / 2=" + calculatorService.divide(3, 2));
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+ };
+ thread.start();
}
private static String print(ClassLoader cl) {