Я пытаюсь создать собственный сервер sftp, используя Apache Mina SSHD. Мой код на данный момент:
SshServer sshd = SshServer.setUpDefaultServer();
sshd.setPort(PORT_NUMBER);
sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(Paths.get("keys/private_key.ppk")));
SftpSubsystemFactory factory = new SftpSubsystemFactory.Builder()
.build();
factory.addSftpEventListener(new BasicSftpEventListener());
sshd.setSubsystemFactories(Collections.singletonList(factory));
sshd.setShellFactory(new ProcessShellFactory("/bin/sh", "-i", "-l"));
sshd.start();
Как вы можете видеть, я реализовал свой собственный SftpEventListener:
public class BasicSftpEventListener implements SftpEventListener {
@Override
public void removing(ServerSession session, Path path) throws IOException {
System.out.println("Removin");
}
@Override
public void removed(ServerSession session, Path path, Throwable thrown) throws IOException {
System.out.println("removed");
}
Когда я хочу удалить файл, он выполняет мои удаления и удаленные слушатели, НО операция удаления продолжается и файл удаляется.
Есть ли способ, как это предотвратить?
Спасибо за помощь!