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]