Sondeo de nuevos archivos
El conector new-file-polled de Debulker es un componente cuyo propósito es enviar una notificación al servicio de new file notification cuando llega un archivo nuevo al sistema de archivos si el cliente no puede notificar al propio Debulker. El File Poller monitoriza la carpeta para detectar la presencia de archivos nuevos.
Escenario
Este componente utiliza el IPF File Poller, de modo que cuando se sondea un archivo, el IPF File Poller enviará una notificación para desencadenar el procesamiento del archivo.
El new-file-polled-connector recibirá la notificación de disparo del proceso y la enviará usando un send connector al conector receptor ipf-file-notification para iniciar el proceso de debulking.
Prerrequisitos
La aplicación debe proporcionar una implementación de adaptador para la interfaz FilePollerAdapter (en el file-poller-api), que debe crear una solicitud FilePolledNotification y enviar el mensaje al bean NewFilePolledAdapter.
El FilePolledNotification también debe incluir el BulkId, que por defecto se genera como UUID, pero esto puede sobrescribirse implementando la interfaz BulkIdGenerator.
Un ejemplo de implementación es el siguiente:
@Override
public CompletionStage<Void> triggerFileProcessing(FileDetails fileDetails) {
File file = new File(fileDetails.getFilePath());
FilePolledNotification filePolledNotification = FilePolledNotification.builder()
.fileName(file.getName())
.configName("pain.001.001.09")
.fileProvider("local")
.filePath(fileDetails.getFilePath().substring(0, fileDetails.getFilePath().lastIndexOf("/")))
.build();
filePolledNotification.setBulkId(bulkIdGenerator.generateBulkId(filePolledNotification));
return newFilePolledAdapter.send(determineContext(), filePolledNotification)
.thenApply(ignored -> null);
}
Los detalles sobre la configuración del poller pueden verse en el siguiente enlace: IPF File Poller