[ 
https://issues.apache.org/jira/browse/SSHD-841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Goldstein Lyor resolved SSHD-841.
---------------------------------
       Resolution: Fixed
    Fix Version/s: 2.1.0

> Use Nio2ServiceFactoryFactory as the hardwired default if no other found or 
> explicitly set
> ------------------------------------------------------------------------------------------
>
>                 Key: SSHD-841
>                 URL: https://issues.apache.org/jira/browse/SSHD-841
>             Project: MINA SSHD
>          Issue Type: Improvement
>    Affects Versions: 2.0.1
>            Reporter: Goldstein Lyor
>            Assignee: Goldstein Lyor
>            Priority: Major
>             Fix For: 2.1.0
>
>
> The current code uses {{ServiceLoader#load}} mechanism to detect any 3rd 
> party provided {{IoServiceFactoryFactory}}-ies. However, since 
> {{Nio2ServiceFactoryFactory}} is always present in the {{sshd-core}}, it is 
> always picked up along with any others that the user may have placed in the 
> classpath. Furthermore, the service loading mechanism makes no guarantees as 
> to the order in which registered services are scanned. Since the mechanism 
> that instantiates the factory uses the "first" detected factory it is pretty 
> much useless - unless the user configures the 
> {{org.apache.sshd.common.io.IoServiceFactoryFactory}} system property.
> The correct flow should be:
> * Consult {{org.apache.sshd.common.io.IoServiceFactoryFactory}} system 
> property
> * If no specific factory specified - scan the service loaders
> * If *exactly* one found then use it - fail if multiple ones registered
> * Otherwise use {{Nio2ServiceFactoryFactory}} 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to