Загрузка файла с динамически меняющимся именем с SFTP-сервераJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Загрузка файла с динамически меняющимся именем с SFTP-сервера

Сообщение Anonymous »


Ниже приведен код из документации Spring, связанный с подключением к SFTP-серверу.

@SpringBootApplication публичный класс SftpJavaApplication {

public static void main(String[] args) { новый SpringApplicationBuilder (SftpJavaApplication.class) .web(ложь) .run(аргументы); } @Бин public SessionFactory sftpSessionFactory() { Фабрика DefaultSftpSessionFactory = новая DefaultSftpSessionFactory (true); Factory.setHost("локальный хост"); фабрика.setPort(порт); Factory.setUser("foo"); Factory.setPassword("фу"); Factory.setAllowUnknownKeys(истина); Factory.setTestSession(истина); вернуть новый CachingSessionFactory(фабрика); } @Бин public SftpInboundFileSynchronizer sftpInboundFileSynchronizer() { SftpInboundFileSynchronizer fileSynchronizer = новый SftpInboundFileSynchronizer (sftpSessionFactory()); fileSynchronizer.setDeleteRemoteFiles(false); fileSynchronizer.setRemoteDirectory("foo"); fileSynchronizer.setFilter(новый SftpSimplePatternFileListFilter("*.xml")); вернуть файлSynchronizer; } @Бин @InboundChannelAdapter(channel = "sftpChannel", poller = @Poller(fixedDelay = "5000")) public MessageSource sftpMessageSource() { Источник SftpInboundFileSynchronizingMessageSource = новый SftpInboundFileSynchronizingMessageSource (sftpInboundFileSynchronizer()); source.setLocalDirectory(новый файл("sftp-inbound")); source.setAutoCreateLocalDirectory(истина); source.setLocalFilter(новый AcceptOnceFileListFilter()); source.setMaxFetchSize(1); источник возврата; } @Бин @ServiceActivator(inputChannel = "sftpChannel") публичный обработчик MessageHandler() { вернуть новый MessageHandler() { @Override public void handleMessage(Message message) выдает MessagingException { System.out.println(message.getPayload()); } }; }

У меня есть задача раз в день зайти на сервер по расписанию и получить файл с определенным именем. На самом деле имя файла — это сегодняшняя дата. То есть каждый день мне нужно зайти на сервер и подобрать среди всех доступных 1 файл, имя которого соответствует дате совершения этого запроса.

Я не могу понять, как адаптировать указанную конфигурацию для решения этой проблемы. Пожалуйста, помогите.

Я понимаю, что мне нужно создать собственный фильтр для решения этой задачи, но я не уверен, от чего именно мне нужно наследовать.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»