2016-03-29 5 views
0

Я использую scala-ssh 0.7.0 для загрузки файла с удаленного сервера.Приложение не выйдет после загрузки файла с помощью scala-ssh

Загрузка сама по себе кажется успешной (я могу найти загруженный файл). Вот последняя часть вывода журнала:

16: 14: 43,824 [Основной] TRACE net.schmizz.sshj.xfer.LoggingTransferListener - переданы 100% log-file.txt 16: 14: 43,824 [главная] ИНФО net.schmizz.sshj.common.StreamCopier - 44.82421875 KiB переведена на: 1.572 секунд (28.514134064885496 KiB/s) 16: 14: 43.825 [главная] DEBUG net.schmizz.sshj.xfer.scp.SCPEngine - - Дистанционное согласие на передачу 16: 14: 43.826 [главная] DEBUG net.schmizz.sshj.xfer.scp.SCPEngine - Сигнализация: Перевод сделан 16: 14: 43.826 [main] TRACE net.schmizz.sshj.transport.Encoder - Кодирующий пакет № 10: 5e 00 00 00 00 00 00 00 01 00 16: 14: 43.826 [основной] DEBUG net.schmizz.sshj.connection.channel.Window $ Remote - Потребление 1 до 2097148 16: 14: 44.220 [читатель] TRACE net.schmizz.sshj.transport.Decoder - Полученный пакет № 14: 62 00 00 00 00 00 00 00 0b 65 78 69 74 2d 73 74 61 74 75 73 00 00 00 00 00 16: 14: 44.221 [читатель] TRACE net.schmizz.sshj.transport.TransportImpl - Полученный пакет CHANNEL_REQUEST 16: 14: 44.221 [читатель] DEBUG net.schmizz .sshj.connection.channel.direct.SessionChannel - Got chan запрос для exit-status 16: 14: 44.222 [читатель] TRACE net.schmizz.sshj.transport.Decoder - Получить д пакета # 15: 60 00 00 00 00 16 : 14: 44,222 [читатель] TRACE net.schmizz.sshj.transport.TransportImpl - принятый пакет CHANNEL_EOF 16: 14: 44,222 [читатель] DEBUG net.schmizz. sshj.connection.channel.direct.SessionChannel - Got EOF 16: 14: 44.223 [читатель] TRACE net.schmizz.sshj.transport.Decoder - Полученный пакет # 16: 61 00 00 00 00 16: 14: 44.223 [читатель] TRACE net.schmizz.sshj.transport.TransportImpl - принимаемый пакет CHANNEL_CLOSE 16: 14: 44,223 [Основная] ОТЛАДКА net.schmizz.sshj.connection.channel.direct.SessionChannel - Отправка близко 16: 14: 44.223 [reader] DEBUG net.schmizz.sshj.connection.channel.direct.SessionChannel - Закрыть Закрыть 16: 14: 44.224 [main] TRACE net.schmizz.sshj.transport.Encoder - Кодирующий пакет № 11: 61 00 00 00 00 16: 14: 44.225 [основной] DEBUG net.schmizz.concurrent.Promise - - Ожидание <> 16: 14: 44.225 [читатель] ОТЛАДКА net.schmizz.sshj.connection.ConnectionImpl - Забыв session канал (# 0) 16: 14: 44.225 [читатель] DEBUG net.schmizz.concurrent.Promise - Установка <> в SOME

Мой код очень прост:

import com.decodified.scalassh._ 

val sshClient = new SshClient(new HostConfig(login = PasswordLogin(userName, SimplePasswordProducer(password)), hostName)) 


sshClient.download(filePath, targetDirectory) 

Теперь, хотя загрузка завершается успешно, и выполнение приложения продолжается после команды загрузки, само приложение не выходит.

Любые идеи?

+0

Может быть, это связано с https://github.com/sirthias/scala-ssh/pull/27? – pedrofurla

+0

Спасибо @pedrofurla. Кажется, что это связано - при избегании неявного преобразования в RichSshClient проблема исчезает. –

ответ

0

Неявное преобразование в RichSshClient, похоже, стоит за этим. Я избегал неявного преобразования в RichSshClient, создав новый класс - «SshClientEnhanced», который расширяет SshClient с помощью ScpTransferable. Вызов метода загрузки на экземпляре SshClientEnhanced отлично работает.

 Смежные вопросы

  • Нет связанных вопросов^_^