Author: bfoster
Date: Fri Feb 18 23:55:11 2011
New Revision: 1072203

URL: http://svn.apache.org/viewvc?rev=1072203&view=rev
Log:

- added shutdown method to EngineRunner

-----------------

Modified:
    
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java
    
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/EngineRunner.java
    
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/HadoopRunner.java
    
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/LocalEngineRunner.java
    
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/MappedMultiRunner.java
    
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/ResourceRunner.java

Modified: 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java
URL: 
http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java
 (original)
+++ 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java
 Fri Feb 18 23:55:11 2011
@@ -168,6 +168,9 @@ public class WorkflowEngineLocal impleme
                        runnerThread.join(5000);
                }catch(Exception e) {}
                this.queueManager.shutdown();
+               try {
+                       this.runner.shutdown();
+               }catch (Exception e) {}
        }
        
        public void pauseRunner() throws EngineException {

Modified: 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/EngineRunner.java
URL: 
http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/EngineRunner.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/EngineRunner.java
 (original)
+++ 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/EngineRunner.java
 Fri Feb 18 23:55:11 2011
@@ -35,4 +35,6 @@ public abstract class EngineRunner {
        
        public abstract void execute(TaskInstance workflowInstance) throws 
Exception;
        
+       public abstract void shutdown() throws Exception;
+
 }

Modified: 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/HadoopRunner.java
URL: 
http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/HadoopRunner.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/HadoopRunner.java
 (original)
+++ 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/HadoopRunner.java
 Fri Feb 18 23:55:11 2011
@@ -81,6 +81,11 @@ public class HadoopRunner extends Engine
        public boolean hasOpenSlots(TaskInstance workflowInstance) throws 
Exception {
                return true;
        }
+       
+       @Override
+       public void shutdown() throws Exception {
+               
+       }
 
 //     public static class MapperTask extends Mapper<Object, Text, Text, File> 
{
 //             private Text outputFilesText = new Text("OutputFiles");

Modified: 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/LocalEngineRunner.java
URL: 
http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/LocalEngineRunner.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/LocalEngineRunner.java
 (original)
+++ 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/LocalEngineRunner.java
 Fri Feb 18 23:55:11 2011
@@ -40,6 +40,7 @@ public class LocalEngineRunner extends E
        private int numOfSlots;
        private int usedSlots = 0;
        private List<TaskInstance> cache;
+       private boolean running = true;
        
        public LocalEngineRunner(int numOfSlots, int cacheSize) {
                this.numOfSlots = numOfSlots;
@@ -47,7 +48,7 @@ public class LocalEngineRunner extends E
                if (this.cacheSize > 0) {
                        new Thread(new Runnable() {
                                public void run() {
-                                       while (true) {
+                                       while (running) {
                                                try {
                                                        if 
(LocalEngineRunner.this.numOfSlots > LocalEngineRunner.this.usedSlots && 
LocalEngineRunner.this.cache.size() > 0)
                                                                
LocalEngineRunner.this.execute(LocalEngineRunner.this.cache.remove(0));
@@ -92,6 +93,11 @@ public class LocalEngineRunner extends E
                return this.getOpenSlots(workflowInstance) > 0;
        }
        
+       @Override
+       public void shutdown() throws Exception {
+               this.running = false;
+       }
+       
        private synchronized void incrSlots() {
                usedSlots++;
        }

Modified: 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/MappedMultiRunner.java
URL: 
http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/MappedMultiRunner.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/MappedMultiRunner.java
 (original)
+++ 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/MappedMultiRunner.java
 Fri Feb 18 23:55:11 2011
@@ -56,6 +56,12 @@ public class MappedMultiRunner extends E
                return 
this.getRunner(workflowInstance).hasOpenSlots(workflowInstance);
        }
        
+       @Override
+       public void shutdown() throws Exception {
+               for (EngineRunner runner : this.runnerMap.values())
+                       try { runner.shutdown(); }catch (Exception e) {}
+       }
+       
        private EngineRunner getRunner(TaskInstance workflowInstance) {
                String runnerId = 
this.executionTypeToRunnerMap.get(workflowInstance.getExecutionType());
                if (runnerId == null)

Modified: 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/ResourceRunner.java
URL: 
http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/ResourceRunner.java?rev=1072203&r1=1072202&r2=1072203&view=diff
==============================================================================
--- 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/ResourceRunner.java
 (original)
+++ 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/runner/ResourceRunner.java
 Fri Feb 18 23:55:11 2011
@@ -73,5 +73,10 @@ public class ResourceRunner extends Engi
        public boolean hasOpenSlots(TaskInstance workflowInstance) throws 
Exception {
                return this.getOpenSlots(workflowInstance) > 0;
        }
+       
+       @Override
+       public void shutdown() throws Exception {
+               //do nothing
+       }
 
 }


Reply via email to