@@ -45,6 +45,9 @@ public class SSHJNodeExecutorPlugin implements NodeExecutor, ProxySecretBundleCr
4545 public static final String CONFIG_AUTHENTICATION = "authentication" ;
4646 public static final String CONFIG_PASSPHRASE_STORE_PATH = "passphrasestoragepath" ;
4747 public static final String CONFIG_KEEP_ALIVE_INTERVAL = "keepAliveInterval" ;
48+
49+ public static final String CONFIG_KEEP_ALIVE_MAX_ALIVE_COUNT = "keepAliveMaxAliveCount" ;
50+
4851 public static final String CONFIG_RETRY_ENABLE = "retryEnable" ;
4952 public static final String CONFIG_RETRY_COUNTER = "retryCounter" ;
5053
@@ -66,6 +69,9 @@ public class SSHJNodeExecutorPlugin implements NodeExecutor, ProxySecretBundleCr
6669 public static final String NODE_ATTR_SSH_KEY_PASSPHRASE_OPTION = "ssh-key-passphrase-option" ;
6770 public static final String NODE_ATTR_SUDO_PASSWORD_OPTION = "password-option" ;
6871 public static final String NODE_ATTR_SSH_KEEP_ALIVE = "keep-alive-interval" ;
72+
73+ public static final String NODE_ATTR_SSH_KEEP_MAX_ALIVE_COUNT = "keep-alive-max-alive-count" ;
74+
6975 public static final String NODE_ATTR_RETRY_COUNTER = "retry-counter" ;
7076 public static final String NODE_ATTR_RETRY_ENABLE = "retry-enable" ;
7177
@@ -82,7 +88,13 @@ public class SSHJNodeExecutorPlugin implements NodeExecutor, ProxySecretBundleCr
8288 public static final String FWK_PROP_SSH_KEY_PASSPHRASE_STORAGE_PATH = FWK_PROP_PREFIX + NODE_ATTR_SSH_KEY_PASSPHRASE_STORAGE_PATH ;
8389 public static final String PROJ_PROP_SSH_KEY_PASSPHRASE_STORAGE_PATH = PROJ_PROP_PREFIX + NODE_ATTR_SSH_KEY_PASSPHRASE_STORAGE_PATH ;
8490 public static final String FWK_PROP_SSH_KEEP_ALIVE = FWK_PROP_PREFIX + NODE_ATTR_SSH_KEEP_ALIVE ;
91+ public static final String FWK_PROP_SSH_KEEP_ALIVE_COUNT = FWK_PROP_PREFIX + NODE_ATTR_SSH_KEEP_MAX_ALIVE_COUNT ;
92+
93+ public static final String FWK_PROP_SSH_KEEP_ALIVE_MAX_ALIVE_COUNT = FWK_PROP_PREFIX + NODE_ATTR_SSH_KEEP_MAX_ALIVE_COUNT ;
94+
8595 public static final String PROJ_PROP_SSH_KEEP_ALIVE = PROJ_PROP_PREFIX + NODE_ATTR_SSH_KEEP_ALIVE ;
96+ public static final String PROJ_PROP_SSH_KEEP_ALIVE_MAX_COUNT = PROJ_PROP_PREFIX + NODE_ATTR_SSH_KEEP_MAX_ALIVE_COUNT ;
97+
8698 public static final String FWK_PROP_RETRY_COUNTER = FWK_PROP_PREFIX + NODE_ATTR_RETRY_COUNTER ;
8799 public static final String PROJ_PROP_RETRY_COUNTER = PROJ_PROP_PREFIX + NODE_ATTR_RETRY_COUNTER ;
88100 public static final String FWK_PROP_RETRY_ENABLE = FWK_PROP_PREFIX + NODE_ATTR_RETRY_ENABLE ;
@@ -146,9 +158,13 @@ public class SSHJNodeExecutorPlugin implements NodeExecutor, ProxySecretBundleCr
146158 .build ();
147159
148160 static final Property SSH_KEEP_ALIVE_INTERVAL = PropertyUtil .string (CONFIG_KEEP_ALIVE_INTERVAL , "Keep Alive Interval" ,
149- "Keep Alive Interval" ,
161+ "Keep Alive Interval. Can be overridden by a Node attribute named 'keep-alive-interval'. " ,
150162 false , null );
151163
164+ static final Property SSH_KEEP_ALIVE_MAX_ALIVE_COUNT = PropertyUtil .string (CONFIG_KEEP_ALIVE_MAX_ALIVE_COUNT , "Keep Alive Max Alive Count" ,
165+ "Keep Alive Max Alive Count (default 5). Can be overridden by a Node attribute named 'keep-alive-max-alive-count'." ,
166+ false , "5" );
167+
152168 static final Property SSH_RETRY_COUNTER = PropertyUtil .string (CONFIG_RETRY_COUNTER , "Number of retries" ,
153169 "Set retries limit in case the connection fail (just for Transport Exceptions)" ,
154170 false , "3" );
@@ -182,6 +198,7 @@ public Description getDescription() {
182198 builder .property (SSH_KEY_STORAGE_PROP );
183199 builder .property (SSH_PASSPHRASE_STORAGE_PROP );
184200 builder .property (SSH_KEEP_ALIVE_INTERVAL );
201+ builder .property (SSH_KEEP_ALIVE_MAX_ALIVE_COUNT );
185202 builder .property (SSH_RETRY_ENABLE );
186203 builder .property (SSH_RETRY_COUNTER );
187204
@@ -199,8 +216,8 @@ public Description getDescription() {
199216 builder .mapping (CONFIG_KEEP_ALIVE_INTERVAL , PROJ_PROP_SSH_KEEP_ALIVE );
200217 builder .frameworkMapping (CONFIG_KEEP_ALIVE_INTERVAL , FWK_PROP_SSH_KEEP_ALIVE );
201218
202- builder .mapping (CONFIG_KEEP_ALIVE_INTERVAL , PROJ_PROP_SSH_KEEP_ALIVE );
203- builder .frameworkMapping (CONFIG_KEEP_ALIVE_INTERVAL , FWK_PROP_SSH_KEEP_ALIVE );
219+ builder .mapping (CONFIG_KEEP_ALIVE_MAX_ALIVE_COUNT , PROJ_PROP_SSH_KEEP_ALIVE_MAX_COUNT );
220+ builder .frameworkMapping (CONFIG_KEEP_ALIVE_MAX_ALIVE_COUNT , FWK_PROP_SSH_KEEP_ALIVE_COUNT );
204221
205222 builder .mapping (CONFIG_RETRY_COUNTER , PROJ_PROP_RETRY_COUNTER );
206223 builder .frameworkMapping (CONFIG_RETRY_COUNTER , FWK_PROP_RETRY_COUNTER );
0 commit comments