• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Подключение ресурсов jar-файла

savl

Lotus Team
28.10.2011
2 608
313
BIT
277
Дык, ошибка не в нем же:
com.zehon.exception.FileTransferException: org.apache.commons.vfs.FileSystemException: Unknown scheme "sftp" in URI "sftp://login:***@URL:22/Export.xml".
error message: at com.zehon.FileTransferClient.sendFileStreamHelper(FileTransferClient.java:316)
error message: at com.zehon.FileTransferClient.sendFile(FileTransferClient.java:238)
error message: at com.zehon.FileTransferClient.sendFile(FileTransferClient.java:104)
error message: at com.zehon.sftp.SFTPClient.sendFile(SFTPClient.java:189)
далее ошибка из Lotus агента
Данные он получает, пытается конектиться и на "Пролетарскую дулю!".
lmike, почему вы считаете что проблема в ResourceBundle ?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
609
BIT
257
может он строку портит, но при отображении не видно...
не факт, конечно, но ругается он именно на УРИ
просто попробуйте запускать без бандла
 

savl

Lotus Team
28.10.2011
2 608
313
BIT
277
Такая же шляпа...
Сервак не перезагружали, после ребута сработает, больше чем уверен.
Но даже по такой логике проблема видимо в пакете zehon...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
609
BIT
257
ну не знаю что там держит эта либа, почему тогда не такой попробовать
там есть явный exit
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
609
BIT
257
нашёл
последний пост
вот эта проблема - надо освобождать файловые ресурсы...
и вот ссылка на пример (в форуме она устаревшая)
 

savl

Lotus Team
28.10.2011
2 608
313
BIT
277
ну да... так оно и есть.
Блин, пакет закрытый.
Класс основной абстрактный, метод статичный...
Думал наследника сделать, а нельзя.
Видимо буду писать свой sftp и откажусь от данного пакета.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
609
BIT
257
не понимаю - зачем?
Java:
private FileSystemManager fsManager = null;
private FileObject sftpFile;

private FileObject src = null; // used for cleanup in release()
........................
try {
    this.fsManager = VFS.getManager();
}
catch (FileSystemException ex) {
    throw new RuntimeException("failed to get fsManager from VFS", ex);
}
........................
try {
    children = this.sftpFile.getChildren();
}
catch (FileSystemException ex) {
    throw new RuntimeException("Error collecting directory listing of " +
    startPath, ex);
}
......................
try {
    this.sftpFile = this.fsManager.resolveFile(startPath, opts);

    System.out.println("SFTP connection successfully established to " +
    startPath);
}
catch (FileSystemException ex) {
    throw new RuntimeException("SFTP error parsing path " +
    this.remoteDir, ex);
}
........................
// Set src for cleanup in release()
src = children[0];
........................

public void release() {
    FileSystem fs = null;
    fs = this.src.getFileSystem(); // This works even if the src is closed.
    this.fsManager.closeFileSystem(fs);
} // release()

Добавлено: или с небольшой изменением (каменты по ссылке):
Java:
FileObject src = null;

<-- In processing(), do your things, including src = children[0] -->

public void release() {
    FileSystem fs = null;
    this.src.close(); // Seems to still work even if this line is omitted
    fs = this.src.getFileSystem(); // This works even after the src is closed.
    this.fsManager.closeFileSystem(fs);
}
 

savl

Lotus Team
28.10.2011
2 608
313
BIT
277
нет, так не помогло.
Придется реализовывать свою прием-передачу.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 949
609
BIT
257
а что не задалось? release отрабатывается?
 

savl

Lotus Team
28.10.2011
2 608
313
BIT
277
Думаю нет, ошибка в логе сразу за Unknown scheme "sftp" in URI
Agent Manager: Agent error: Exception in thread "AgentThread: JavaAgent"
Agent Manager: Agent error: java.lang.NullPointerException
Agent Manager: Agent error: at JavaAgent.NotesMain(Unknown Source)
Agent Manager: Agent error: at lotus.domino.AgentBase.runNotes(Unknown Source)
Agent Manager: Agent error: at lotus.domino.NotesThread.run(Unknown Source)

делал так, скорее всего тут и накосячил.
Java:
FileSystemManager fsManager = null;
FileSystemOptions opts = null;
FileObject src = null;
FileObject sftpFile;
FileObject[] children = null;
fsManager = VFS.getManager();
opts = new FileSystemOptions();

try {
    sftpFile = fsManager.resolveFile("sftp://" + host + sftpFolder, opts);
    children = sftpFile.getChildren();
}
catch (FileSystemException ex) {
    ex.getCause().printStackTrace();   
}

try {
    int status = SFTPObj.getFile(ImportFile, sftpFolder, writeToLocalFolder);
    if (FileTransferStatus.SUCCESS == status)
        if (debug) System.out.println("Copy to " + writeToLocalFolder);
    else if(FileTransferStatus.FAILURE == status)
        if (debug) System.out.println("Can not copy from sftp");
}
catch(FileTransferException ex) {
    ex.getCause().printStackTrace();
}

if (children[0] != null) {
    FileSystem fs = null;
    src = children[0];
    fs = src.getFileSystem();
    fsManager.closeFileSystem(fs);
}
else {
    System.out.println("Not children!");
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!