Если вы используете отдельный сеанс SSH для каждой загрузки из веб-приложения - PullRequest
2 голосов
/ 29 марта 2012

В веб-приложениях часто требуется загружать файлы через SSH (по протоколу SFTP) на удаленные хосты со статическим контентом. Вопрос в том, как лучше всего работать с SSH-соединением в такой ситуации? Нужно ли создавать сеанс (подключаться) каждый раз, когда пользователь загружает изображение или файл?

В настоящее время я решил это с помощью одноэлементного компонента с типом com.jcraft.jsch.Session в контексте. При запуске веб-приложения создает сессионный компонент и выполняет подключение. Поэтому, когда приходит запрос на загрузку файла, сессия готова это сделать. Но в случае проблем с сетью, сеанс будет уничтожен, и сервер должен будет восстановить соединение. Как это сделать?

1 Ответ

1 голос
/ 29 марта 2012

Если переподключение для каждой загрузки слишком дорого для вас, вы должны внедрить пул соединений SSH. Я не знаю таких пулов, существующих для протокола SSH. Вы можете адаптировать идеи из пулов HTTP-соединений - см. ThreadSafeClientConnManager из apache HttpClient.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...