mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guillaume Nodet <gno...@apache.org>
Subject [SSHD] [DISCUSS] Switch SSHD to JDK 7 and NIO FileSystem api for SFTP client and server side
Date Mon, 01 Dec 2014 17:22:51 GMT
I started working on switching to the new NIO FileSystem api provided by
JDK 7 in the SCP, and SFTP command implementations.
I've also worked on a client side SFTP FileSystem provider.
The work so far can be found at
   https://github.com/gnodet/mina-sshd/tree/filesystem

This has 2 major impacts:
  * require switching to JDK7
  * drop of the FileSystemView / SshFile interface

The second one can affect users, as I know some people use it to do some
post-processing for sftp.  I think this could easily be worked around by
adding proper callbacks and customization in the SftpSubsystem code.

The client side SFTP FileSystemProvider is quite nice to use, as it totally
abstracts the SSH / SFTP apis.  Here is a test showing how it can be used
completely transparently:

https://github.com/gnodet/mina-sshd/commit/46721da9692d5cadcec33283204ef75929077af0#diff-fd8abe6895bf77dc725d1e2073bc57acR70

The server side is also more flexible I think, as one can easily reuse any
existing FileSystemProvider (such as https://github.com/google/jimfsfor
example).

I think this is a good improvement, but I'd need to gather feedback on the
2 impacts I mentioned (more specifically the second one, as Java 6 has been
EOL'ed by Oracle more than 18 months ago).  Supporting both APIs in the
same code does not really seem an easy thing to do.

Thoughts welcomed !

Cheers,
Guillaume Nodet

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message