[ 
https://issues.apache.org/jira/browse/SSHD-669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15322542#comment-15322542
 ] 

Roman Vottner commented on SSHD-669:
------------------------------------

Seems like I' just needed to set the shutdownOnExit flag on the constructor to 
false. My bad ...

> Destroying SftpSubsystem on client disconnect will terminate external 
> ExecutorService - preventing re-connects
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: SSHD-669
>                 URL: https://issues.apache.org/jira/browse/SSHD-669
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 1.2.0
>            Reporter: Roman Vottner
>
> In SftpSubsystem on performing the destroy logic (on a client disconnect 
> f.e.), the code will also terminate the current executor service as well. 
> https://github.com/apache/mina-sshd/blob/master/sshd-core/src/main/java/org/apache/sshd/server/subsystem/sftp/SftpSubsystem.java#L3374-L3379
> If the executor service is defined externally and injected via 
> SftpSubsystemFactory.setExecutorService(executorService) this will prevent 
> re-connects from users or even fail requests issued by other users (in a 
> multi user scenario).
> In addition to that, as SftpSubsystem's "closed" field is declared as 
> private, a child class of SftpSubsystem which needs to customize destroy (in 
> order to prevent the executor shutdown) needs to define its own "closed" 
> field version on overwriting the parent class and copy & paste the otherwise 
> unneeded run-method from the parent as well. Please, change the scope of 
> "closed" to protected or privide a getter in the Subsystem to retrieve the 
> current state.
> I've tested this only with 1.2.0 yet



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to