Repository: airavata
Updated Branches:
  refs/heads/master 73c8337aa -> ae15740d8


fixing exception handling


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c92fbd39
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c92fbd39
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c92fbd39

Branch: refs/heads/master
Commit: c92fbd39dfe35adcebe5b25a804b1d70b0023635
Parents: be901aa
Author: Lahiru Gunathilake <[email protected]>
Authored: Wed Apr 15 08:58:04 2015 -0400
Committer: Lahiru Gunathilake <[email protected]>
Committed: Wed Apr 15 08:58:04 2015 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/airavata/gfac/server/GfacServer.java | 2 ++
 .../org/apache/airavata/gfac/server/GfacServerHandler.java    | 7 ++++++-
 .../airavata/gfac/core/utils/GFacThreadPoolExecutor.java      | 3 ++-
 3 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c92fbd39/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServer.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServer.java
 
b/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServer.java
index e37a9ab..01115b6 100644
--- 
a/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServer.java
+++ 
b/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServer.java
@@ -23,6 +23,7 @@ package org.apache.airavata.gfac.server;
 import org.apache.airavata.common.utils.Constants;
 import org.apache.airavata.common.utils.IServer;
 import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.gfac.core.utils.GFacThreadPoolExecutor;
 import org.apache.airavata.gfac.cpi.GfacService;
 import org.apache.thrift.server.TServer;
 import org.apache.thrift.server.TThreadPoolServer;
@@ -109,6 +110,7 @@ public class GfacServer implements IServer{
                        setStatus(IServer.ServerStatus.STOPING);
                        server.stop();
                }
+               GFacThreadPoolExecutor.getFixedThreadPool().shutdownNow();
 
        }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/c92fbd39/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
 
b/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
index f3e1d91..6652db0 100644
--- 
a/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
+++ 
b/modules/gfac/airavata-gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
@@ -255,7 +255,12 @@ public class GfacServerHandler implements 
GfacService.Iface, Watcher {
         logger.debugId(experimentId, "Submitted job to the Gfac 
Implementation, experiment {}, task {}, gateway " +
                 "{}", experimentId, taskId, gatewayId);
 
-        
GFacThreadPoolExecutor.getFixedThreadPool().execute(inputHandlerWorker);
+        try {
+            
GFacThreadPoolExecutor.getFixedThreadPool().execute(inputHandlerWorker);
+        } catch (ApplicationSettingsException e) {
+            logger.error(e.getMessage(), e);
+            throw new TException(e);
+        }
 
         // we immediately return when we have a threadpool
         return true;

http://git-wip-us.apache.org/repos/asf/airavata/blob/c92fbd39/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacThreadPoolExecutor.java
 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacThreadPoolExecutor.java
index 7853513..3c8d56a 100644
--- 
a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacThreadPoolExecutor.java
+++ 
b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacThreadPoolExecutor.java
@@ -41,12 +41,13 @@ public class GFacThreadPoolExecutor {
         return threadPool;
     }
 
-    public static ExecutorService getFixedThreadPool() {
+    public static ExecutorService getFixedThreadPool() throws 
ApplicationSettingsException {
         if(threadPool ==null){
             try {
                 threadPool = 
Executors.newFixedThreadPool(Integer.parseInt(ServerSettings.getSetting(GFAC_THREAD_POOL_SIZE)));
             } catch (ApplicationSettingsException e) {
                 logger.error("Error reading " + GFAC_THREAD_POOL_SIZE+ " 
property");
+                throw e;
             }
         }
         return threadPool;

Reply via email to