Implementé una aplicación springboot para recuperar archivos de un servidor FTP y descargarlos en mi directorio local.
El siguiente es el código que usé para hacer eso.
@Configuration public class FTPConfiguration { @ServiceActivator(inputChannel = "ftpMGET") @Bean public FtpOutboundGateway getFiles() { FtpOutboundGateway gateway = new FtpOutboundGateway(sf(), "mget", "payload"); gateway.setAutoCreateDirectory(true); gateway.setLocalDirectory(new File("./downloads/")); gateway.setFileExistsMode(FileExistsMode.REPLACE_IF_MODIFIED); gateway.setFilter(new AcceptOnceFileListFilter<>()); gateway.setOutputChannelName("fileResults"); return gateway; } @Bean public MessageChannel fileResults() { DirectChannel channel = new DirectChannel(); channel.addInterceptor(tap()); return channel; } @Bean public WireTap tap() { return new WireTap("logging"); } @ServiceActivator(inputChannel = "logging") @Bean public LoggingHandler logger() { LoggingHandler logger = new LoggingHandler(LoggingHandler.Level.INFO); logger.setLogExpressionString("'Files:' + payload"); return logger; } @Bean public DefaultFtpSessionFactory sf() { DefaultFtpSessionFactory sf = new DefaultFtpSessionFactory(); sf.setHost("localhost"); sf.setPort(2121); sf.setUsername("anonymous"); sf.setPassword(""); return sf; } @MessagingGateway(defaultRequestChannel = "ftpMGET", defaultReplyChannel = "fileResults") public interface GateFile { List<File> mget(String directory); } }Ahora necesito cargar estos archivos en mi MongoDB automáticamente, cuando ejecuto este programa. ¿Alguien puede ayudarme o guiarme los pasos que debo seguir?
Por favor, eche un vistazo a la compatibilidad con MongoDB en Spring Integration: https://docs.spring.io/spring-integration/docs/current/reference/html/mongodb.html#mongodb-outbound-channel-adapter
Probablemente necesite pensar cómo hacer POJO a partir de archivos de ese resultado MGET y enviarlo a ese adaptador de canal MongoDB para almacenarlo como documentos en alguna colección.