[
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)