You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2006/08/09 00:56:54 UTC

svn commit: r429869 - in /incubator/tuscany/java/sca/core: ./ src/main/java/org/apache/tuscany/core/policy/async/ src/main/java/org/apache/tuscany/core/services/workmanager/ src/test/java/org/apache/tuscany/core/policy/async/ src/test/java/org/apache/t...

Author: jboynes
Date: Tue Aug  8 15:56:54 2006
New Revision: 429869

URL: http://svn.apache.org/viewvc?rev=429869&view=rev
Log:
apply patch from Meeraj for TUSCANY-609
removes dependency on Geronimo work manager

Removed:
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/services/workmanager/
    incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/services/workmanager/
Modified:
    incubator/tuscany/java/sca/core/pom.xml
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/policy/async/AsyncInterceptor.java
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/policy/async/AsyncPolicyBuilder.java
    incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/policy/async/AsyncInterceptorTestCase.java

Modified: incubator/tuscany/java/sca/core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/pom.xml?rev=429869&r1=429868&r2=429869&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/pom.xml (original)
+++ incubator/tuscany/java/sca/core/pom.xml Tue Aug  8 15:56:54 2006
@@ -73,19 +73,7 @@
             <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
         </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo</groupId>
-            <artifactId>geronimo-connector</artifactId>
-            <version>1.0</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo</groupId>
-            <artifactId>geronimo-transaction</artifactId>
-            <version>1.0</version>
-            <scope>compile</scope>
-        </dependency>
+        
         <dependency>
             <groupId>concurrent</groupId>
             <artifactId>concurrent</artifactId>

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/policy/async/AsyncInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/policy/async/AsyncInterceptor.java?rev=429869&r1=429868&r2=429869&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/policy/async/AsyncInterceptor.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/policy/async/AsyncInterceptor.java Tue Aug  8 15:56:54 2006
@@ -1,8 +1,6 @@
 package org.apache.tuscany.core.policy.async;
 
-import javax.resource.spi.work.Work;
-import javax.resource.spi.work.WorkException;
-import javax.resource.spi.work.WorkManager;
+import org.apache.tuscany.spi.services.work.WorkScheduler;
 
 import org.osoa.sca.CompositeContext;
 import org.osoa.sca.CurrentCompositeContext;
@@ -24,39 +22,31 @@
     private static final ContextBinder BINDER = new ContextBinder();
     private static final Message RESPONSE = new ImmutableMessage();
 
-    private WorkManager workManager;
+    private WorkScheduler workScheduler;
     private Interceptor next;
     private AsyncMonitor monitor;
 
-    public AsyncInterceptor(WorkManager workManager, AsyncMonitor monitor) {
-        this.workManager = workManager;
+    public AsyncInterceptor(WorkScheduler workScheduler, AsyncMonitor monitor) {
+        this.workScheduler = workScheduler;
         this.monitor = monitor;
     }
 
     public Message invoke(final Message message) {
         final CompositeContext currentContext = CurrentCompositeContext.getContext();
         // Schedule the invocation of the next interceptor in a new Work instance
-        try {
-            workManager.scheduleWork(new Work() {
-                public void run() {
-                    CompositeContext oldContext = CurrentCompositeContext.getContext();
-                    try {
-                        AsyncInterceptor.BINDER.setContext(currentContext);
-                        next.invoke(message); // Invoke the next interceptor
-                    } catch (Exception e) {
-                        monitor.executionError(e);
-                    } finally {
-                        AsyncInterceptor.BINDER.setContext(oldContext);
-                    }
+        workScheduler.scheduleWork(new Runnable() {
+            public void run() {
+                CompositeContext oldContext = CurrentCompositeContext.getContext();
+                try {
+                    AsyncInterceptor.BINDER.setContext(currentContext);
+                    next.invoke(message); // Invoke the next interceptor
+                } catch (Exception e) {
+                    monitor.executionError(e);
+                } finally {
+                    AsyncInterceptor.BINDER.setContext(oldContext);
                 }
-
-                public void release() {
-                }
-
-            });
-        } catch (WorkException e) {
-            throw new ServiceRuntimeException(e);
-        }
+            }
+        });
         return RESPONSE; // No return on a OneWay invocation.
     }
 

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/policy/async/AsyncPolicyBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/policy/async/AsyncPolicyBuilder.java?rev=429869&r1=429868&r2=429869&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/policy/async/AsyncPolicyBuilder.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/policy/async/AsyncPolicyBuilder.java Tue Aug  8 15:56:54 2006
@@ -1,6 +1,6 @@
 package org.apache.tuscany.core.policy.async;
 
-import javax.resource.spi.work.WorkManager;
+import org.apache.tuscany.spi.services.work.WorkScheduler;
 
 import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.OneWay;
@@ -25,7 +25,7 @@
 public class AsyncPolicyBuilder implements TargetPolicyBuilder {
 
     private PolicyBuilderRegistry builderRegistry;
-    private WorkManager workManager;
+    private WorkScheduler workScheduler;
     private AsyncMonitor monitor;
 
     public AsyncPolicyBuilder() {
@@ -50,15 +50,15 @@
     }
 
     @Autowire
-    public void setWorkManager(WorkManager workManager) {
-        this.workManager = workManager;
+    public void setWorkScheduler(WorkScheduler workScheduler) {
+        this.workScheduler = workScheduler;
     }
 
     public void build(ServiceDefinition serviceDefinition, InboundWire<?> wire) throws BuilderException {
         for (InboundInvocationChain chain : wire.getInvocationChains().values()) {
             // TODO fix this - it should be represented by the model and not through an annotation
             if (chain.getMethod().getAnnotation(OneWay.class) != null) {
-                chain.addInterceptor(new AsyncInterceptor(workManager, monitor));
+                chain.addInterceptor(new AsyncInterceptor(workScheduler, monitor));
             }
         }
     }

Modified: incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/policy/async/AsyncInterceptorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/policy/async/AsyncInterceptorTestCase.java?rev=429869&r1=429868&r2=429869&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/policy/async/AsyncInterceptorTestCase.java (original)
+++ incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/policy/async/AsyncInterceptorTestCase.java Tue Aug  8 15:56:54 2006
@@ -6,14 +6,15 @@
 import org.apache.tuscany.spi.wire.Message;
 import org.apache.tuscany.spi.wire.MessageImpl;
 
-import org.apache.geronimo.connector.work.GeronimoWorkManager;
-import org.apache.geronimo.transaction.context.TransactionContextManager;
 import org.apache.tuscany.core.monitor.NullMonitorFactory;
 import org.jmock.Mock;
 import org.jmock.MockObjectTestCase;
 import org.jmock.core.Invocation;
 import org.jmock.core.Stub;
 
+import org.apache.tuscany.core.services.work.jsr237.workmanager.ThreadPoolWorkManager;
+import org.apache.tuscany.core.services.work.jsr237.Jsr237WorkScheduler;
+import org.apache.tuscany.spi.services.work.WorkScheduler;
 /**
  * Verfies basic async invocations
  *
@@ -21,12 +22,13 @@
  */
 public class AsyncInterceptorTestCase extends MockObjectTestCase {
 
-    private GeronimoWorkManager workManager;
+	private WorkScheduler workScheduler;
+    private ThreadPoolWorkManager workManager;
 
     @SuppressWarnings("unchecked")
     public void testInvocation() throws Exception {
         AsyncInterceptor asyncInterceptor =
-            new AsyncInterceptor(workManager, new NullMonitorFactory().getMonitor(AsyncMonitor.class));
+            new AsyncInterceptor(workScheduler, new NullMonitorFactory().getMonitor(AsyncMonitor.class));
         Message msg = new MessageImpl();
         msg.setBody("foo");
         final CountDownLatch startSignal = new CountDownLatch(1);
@@ -51,13 +53,12 @@
 
     protected void setUp() throws Exception {
         super.setUp();
-        TransactionContextManager transactionContextManager = new TransactionContextManager();
-        workManager = new GeronimoWorkManager(2, transactionContextManager);
-        workManager.doStart();
+        workManager = new ThreadPoolWorkManager(2);
+        workScheduler = new Jsr237WorkScheduler(workManager);
     }
 
     protected void tearDown() throws Exception {
         super.tearDown();
-        workManager.doStop();
+        workManager.destroy();
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org