Repository: airavata
Updated Branches:
  refs/heads/develop 644bf8962 -> 1480cd3b4


Added logs to track session life cycle


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

Branch: refs/heads/develop
Commit: 1480cd3b498fe90bc3f5fac7a35c24cee31110b6
Parents: 644bf89
Author: Shameera Rathnayaka <[email protected]>
Authored: Fri Dec 30 16:38:24 2016 -0500
Committer: Shameera Rathnayaka <[email protected]>
Committed: Fri Dec 30 16:38:24 2016 -0500

----------------------------------------------------------------------
 .../org/apache/airavata/gfac/impl/Factory.java  | 82 ++++++++++----------
 1 file changed, 42 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1480cd3b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/Factory.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/Factory.java
 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/Factory.java
index fda5386..6d2fa28 100644
--- 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/Factory.java
+++ 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/Factory.java
@@ -134,6 +134,46 @@ public abstract class Factory {
                return engine;
        }
 
+       public static void loadConfiguration() throws GFacException {
+               GFacYamlConfigruation config = new GFacYamlConfigruation();
+               try {
+                       for (JobSubmitterTaskConfig jobSubmitterTaskConfig : 
config.getJobSbumitters()) {
+                               String taskClass = 
jobSubmitterTaskConfig.getTaskClass();
+                               Class<?> aClass = Class.forName(taskClass);
+                               Constructor<?> constructor = 
aClass.getConstructor();
+                               JobSubmissionTask task = (JobSubmissionTask) 
constructor.newInstance();
+                               
task.init(jobSubmitterTaskConfig.getProperties());
+                               
jobSubmissionTask.put(jobSubmitterTaskConfig.getSubmissionProtocol(), task);
+                       }
+
+                       for (DataTransferTaskConfig dataTransferTaskConfig : 
config.getFileTransferTasks()) {
+                               String taskClass = 
dataTransferTaskConfig.getTaskClass();
+                               Class<?> aClass = Class.forName(taskClass);
+                               Constructor<?> constructor = 
aClass.getConstructor();
+                               Task task = (Task) constructor.newInstance();
+                               
task.init(dataTransferTaskConfig.getProperties());
+                               
dataMovementTask.put(dataTransferTaskConfig.getTransferProtocol(), task);
+                       }
+
+                       for (ResourceConfig resourceConfig : 
config.getResourceConfiguration()) {
+                               
resources.put(resourceConfig.getJobManagerType(), resourceConfig);
+                       }
+               } catch (Exception e) {
+                       throw new GFacException("Gfac config issue", e);
+               }
+
+               sessionCache = CacheBuilder.newBuilder()
+                               
.expireAfterAccess(ServerSettings.getSessionCacheAccessTimeout(), 
TimeUnit.MINUTES)
+                               .removalListener((RemovalListener<String, 
Session>) removalNotification -> {
+                                       if 
(removalNotification.getValue().isConnected()) {
+                                               log.info("Disconnecting ssh 
session with key: " + removalNotification.getKey());
+                                               
removalNotification.getValue().disconnect();
+                                       }
+                                       log.info("Removed ssh session with key: 
" + removalNotification.getKey());
+                               })
+                               .build();
+       }
+
        public static GFacContext getGfacContext() {
                if (gfacContext == null) {
                        gfacContext = GFacContext.getInstance();
@@ -225,11 +265,11 @@ public abstract class Factory {
 
        }
 
+
        public static HostScheduler getHostScheduler() {
                return new DefaultHostScheduler();
        }
 
-
        /**
         * Factory class manage reomete cluster map, this will solve too many 
connections/ sessions issues with cluster
         * communications.
@@ -364,6 +404,7 @@ public abstract class Factory {
         }
     }
 
+
     private static SSHKeyAuthentication getSshKeyAuthentication(String 
gatewayId,
                                                                 String 
loginUserName,
                                                                 String 
credentialStoreToken)
@@ -394,7 +435,6 @@ public abstract class Factory {
         }
     }
 
-
        public static JobSubmissionTask 
getJobSubmissionTask(JobSubmissionProtocol jobSubmissionProtocol) {
                return jobSubmissionTask.get(jobSubmissionProtocol);
        }
@@ -411,44 +451,6 @@ public abstract class Factory {
                return resources;
        }
 
-       public static void loadConfiguration() throws GFacException {
-               GFacYamlConfigruation config = new GFacYamlConfigruation();
-               try {
-                       for (JobSubmitterTaskConfig jobSubmitterTaskConfig : 
config.getJobSbumitters()) {
-                               String taskClass = 
jobSubmitterTaskConfig.getTaskClass();
-                               Class<?> aClass = Class.forName(taskClass);
-                               Constructor<?> constructor = 
aClass.getConstructor();
-                               JobSubmissionTask task = (JobSubmissionTask) 
constructor.newInstance();
-                               
task.init(jobSubmitterTaskConfig.getProperties());
-                               
jobSubmissionTask.put(jobSubmitterTaskConfig.getSubmissionProtocol(), task);
-                       }
-
-                       for (DataTransferTaskConfig dataTransferTaskConfig : 
config.getFileTransferTasks()) {
-                               String taskClass = 
dataTransferTaskConfig.getTaskClass();
-                               Class<?> aClass = Class.forName(taskClass);
-                               Constructor<?> constructor = 
aClass.getConstructor();
-                               Task task = (Task) constructor.newInstance();
-                               
task.init(dataTransferTaskConfig.getProperties());
-                               
dataMovementTask.put(dataTransferTaskConfig.getTransferProtocol(), task);
-                       }
-
-                       for (ResourceConfig resourceConfig : 
config.getResourceConfiguration()) {
-                               
resources.put(resourceConfig.getJobManagerType(), resourceConfig);
-                       }
-               } catch (Exception e) {
-                       throw new GFacException("Gfac config issue", e);
-               }
-
-               sessionCache = CacheBuilder.newBuilder()
-                               
.expireAfterAccess(ServerSettings.getSessionCacheAccessTimeout(), 
TimeUnit.MINUTES)
-                               .removalListener((RemovalListener<String, 
Session>) removalNotification -> {
-                                       if 
(removalNotification.getValue().isConnected()) {
-                                               
removalNotification.getValue().disconnect();
-                                       }
-                })
-                               .build();
-       }
-
        public static JobMonitor getMonitorService(MonitorMode monitorMode) 
throws AiravataException, GFacException {
                JobMonitor jobMonitor = jobMonitorServices.get(monitorMode);
                if (jobMonitor == null) {

Reply via email to