[
https://issues.apache.org/jira/browse/SSHD-108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15299712#comment-15299712
]
Goldstein Lyor edited comment on SSHD-108 at 5/25/16 9:08 AM:
--------------------------------------------------------------
I am not sure I understand what you mean, but I think you can be informed of
session issues by registering a _SessionListener_. The _onFailed_ method you
mention eventually propagates to _sessionException_ callback so you can
distinguish between sessions that closed normally or were aborted. Please note
that _sessionClosed_ is *always* called - even for aborted sessions, so it is
up to you "mark" the session as aborted when _sessionException_ is called and
then examine the mark in _sessionClosed_. You can easily do this by using the
session's _get/setAttribute_ methods - define your own _AttributeKey_ and
values and then use it. If you wish to monitor only SFTP sessions, then
register an _SftpEventListener_ and add the monitoring session listener to the
session argument provided when _initialized_ method is called to inform you of
a new SFTP session (and if you really want to clean up after you, remove the
session listener when _destroying_ is called).
I think this pretty much covers how I would approach the scenario you describe.
was (Author: lgoldstein):
I am not sure I understand what you mean, but I think you can be informed of
session issues by registering a _SessionListener_. The _onFailed_ method you
mention eventually propagates to _sessionException_ callback so you can
distinguish between sessions that closed normally or were aborted. Please note
that _sessionClosed_ is *always* called - even for aborted sessions, so it is
up to you "mark" the session as aborted when _sessionException_ is called and
then examine the mark in _sessionClosed_. You can easily do this by using the
session's _get/setAttribute_ methods - define your own _AttributeKey_ and
values and then use it. If you wish to monitor only SFTP sessions, then
register an _SftpEventListener_ and the monitoring session listener when
_initialized_ method is called to inform you of a new SFTP session (and if you
really want to clean up after you, remove the session listener when
_destroying_ is called).
I think this pretty much covers how I would approach the scenario you describe.
> Add upload monitoring to sftp
> -----------------------------
>
> Key: SSHD-108
> URL: https://issues.apache.org/jira/browse/SSHD-108
> Project: MINA SSHD
> Issue Type: Improvement
> Affects Versions: 0.5.0
> Reporter: Richard Evans
> Assignee: Goldstein Lyor
> Priority: Minor
> Fix For: 1.1.0
>
>
> We have sshd integrated into our application and sftp is working fine. One
> of the requirements is to initiate some action when a file upload it
> complete. I have made this work by implementing handleClose in my SshFile
> implementation and performing the action if createOutputStream had been
> called previously. This seems a bit ugly though; it might be nicer if there
> was some plug in mechanism to monitor file transfers.
> Ideally the monitor would be able to distinguish between a successful upload
> and a cancelled one (via ctrl-c at the client), but a quick perusal of the
> sftp stuff seems to inidicate that this is not possible.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)