Я загружаю один файл на SFTP-сервер, используя Alpakka, но как только файл загружен, и я получил ответ об успешном завершении, мойка остается открытой, как мне ее слить?
Я начал с этого:
val sink = Sftp.toPath(path, settings, false)
val source = Source.single(ByteString(data))
source
.viaMat(KillSwitches.single)(Keep.right)
.toMat(sink)(Keep.both).run()
.map(_.wasSuccessful)
Но это в конечном итоге никогда не покидает шаг карты.Я пытался добавить выключатель, но это, похоже, не дало эффекта (ни с выключением, ни с прерыванием):
val sink = Sftp.toPath(path, settings, false)
val source = Source.single(ByteString(data))
val (killswitch, result) = source
.viaMat(KillSwitches.single)(Keep.right)
.toMat(sink)(Keep.both).run()
result.map {
killswitch.shutdown()
_.wasSuccessful
}
Я делаю что-то в корне неправильно?Мне нужен только один результат.
РЕДАКТИРОВАТЬ Настройки отправлены на toPath
:
SftpSettings(InetAddress.getByName(host))
.withCredentials(FtpCredentials.create(amexUsername, amexPassword))
.withStrictHostKeyChecking(false)