Как обрабатывать входящие файлы в Apache Mina SSHD SFTP Server в Java
В настоящее время я работаю над протоколом SFTP. Я создал SFTP-клиент, используя библиотеку Jsch и SFTP-сервер, используя библиотеку Apache Mina Sshd. Я установил соединение между ними и могу успешно отправлять файлы на SFTP-сервер. Теперь я работаю над созданием SFTP-сервера. обработчик боковых файлов, который обрабатывает входящие файлы. В качестве примера, скажем, SFTP-сервер может получать файлы от SFTP-клиента, но в настоящее время в моей реализации нет способа уведомить, когда файл поступил на сервер. это файлы доступны. Вот как я знаю, если файлы поступили.
Я хотел бы реализовать, что, когда файлы поступают на сервер, он будет уведомлять пользователя о прибытии файлов и их содержимом. (Имя файла и другие детали). Но проблема в том, что я новичок в Apache Mina sshd API.i прошел через документацию но я не мог понять это.
Пожалуйста, я хотел бы знать, что если на сервере Apache Mina Sshd есть какие-либо уже реализованные прослушиватели для обработки входящих файлов или, если нет, как я могу реализовать свой собственный прослушиватель для входящих файлов.
Код SFTP-сервера
public class SftpServerStarter {
private SshServer sshd;
private final static Logger logger = LoggerFactory.getLogger(SftpServerStarter.class);
public void start(){
sshd = SshServer.setUpDefaultServer();
sshd.setPort(22);
sshd.setHost("localhost");
sshd.setPasswordAuthenticator(new MyPasswordAuthenticator());
sshd.setPublickeyAuthenticator(new MyPublickeyAuthenticator());
sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider());
sshd.setSubsystemFactories(Arrays.<NamedFactory<Command>>asList(new SftpSubsystem.Factory()));
sshd.setCommandFactory(new ScpCommandFactory());
sshd.setFileSystemFactory(new VirtualFileSystemFactory("C:/root"));
try {
logger.info("Starting ...");
sshd.start();
logger.info("Started");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
logger.info("Can not Start Server");
}
}
}