Author: rfeng
Date: Wed Feb 20 20:12:20 2008
New Revision: 629688

URL: http://svn.apache.org/viewvc?rev=629688&view=rev
Log:
Add synchronization to avoid race condition

Modified:
    
incubator/tuscany/java/sca/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceImpl.java

Modified: 
incubator/tuscany/java/sca/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceImpl.java?rev=629688&r1=629687&r2=629688&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/itest/callback-multiple-wires/src/main/java/org/apache/tuscany/sca/test/callback/MyServiceImpl.java
 Wed Feb 20 20:12:20 2008
@@ -18,11 +18,10 @@
  */
 package org.apache.tuscany.sca.test.callback;
 
-import org.osoa.sca.annotations.Callback;
+import org.osoa.sca.RequestContext;
 import org.osoa.sca.annotations.Context;
 import org.osoa.sca.annotations.Scope;
 import org.osoa.sca.annotations.Service;
-import org.osoa.sca.RequestContext;
 
 /**
  * This class implements MyService and uses a callback.
@@ -34,14 +33,15 @@
     private MyServiceCallback myServiceCallback;
 
     @Context
-       protected RequestContext requestContext;
-    
-    public void someMethod(String arg) {
+    protected RequestContext requestContext;
+
+    // [rfeng] It's important to synchonize on this method as two clients call 
it concurrently
+    public synchronized void someMethod(String arg) {
         // invoke the callback
         try {
             myServiceCallback = requestContext.getCallback();
             myServiceCallback.receiveResult(arg + " -> receiveResult");
-        } catch(RuntimeException e) {
+        } catch (RuntimeException e) {
             System.out.println("RuntimeException invoking receiveResult: " + 
e.toString());
         }
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to