Guía Rápida del Conector de Archivos
A menudo, puede que desee configurar un conector para cargar archivos desde un destino específico. Esta guía explica cómo hacerlo.
Paso 1: Agregue connector-file dependencia
La dependencia que debe agregar a su pom.xml es:
<dependency>
<groupId>com.iconsolutions.ipf.core.connector</groupId>
<artifactId>connector-file</artifactId>
</dependency>
Si está importando el Icon BOM, o utilizando el Icon BOM como padre, no es necesario proporcionar una versión separada.
Paso 2: Configuración
Configuración del conector-en general-es altamente impulsado por la configuración. La configuración nos permite especificar:
-
Directorio de archivos
-
Intervalo de carga de archivos
Aquí tiene un ejemplo de un bloque de configuración para FileIngestionConfiguration.
tips { (1)
process-participant.enabled = true
file-ingestion-connector {
file-ingestion {
files-directory = "/static/files" (2)
directory-id = "TIPS" (3)
initial-delay = 5s (4)
interval = 1h (5)
archive-subdirectory = "archive" (6)
failed-subdirectory = "failed" (7)
processing-subdirectory = "processing" (8)
timestamp-archived-and-failed-files = true (9)
restart-settings { (10)
min-backoff = 1s
max-backoff = 10s
random-factor = 0. 1
max-restarts = 20
max-restarts-within = 10m
}
}
}
}
| 1 | Esto se conoce como la ruta raíz de configuración y se hará referencia en el código. Indica dónde en la aplicación configuración para buscar este archivo Connector Transport la configuración de 's |
| 2 | Ruta del directorio con archivos |
| 3 | ID del directorio |
| 4 | Retraso en la carga inicial |
| 5 | Intervalo de carga |
| 6 | Parámetro opcional para especificar dónde se archivarán los archivos procesados; si no se especifica, se utilizará 'archive' por defecto. |
| 7 | Parámetro opcional para especificar dónde failed los archivos se almacenarán; si no se especifica, se establecerá por defecto a 'failed' |
| 8 | Parámetro opcional para especificar desde dónde se procesarán los archivos; si no se especifica, se utilizará 'processing' por defecto. |
| 9 | Parámetro opcional para añadir una marca de tiempo del patrón 'yyyy MMdd_HHmmss' a los nombres de archivo cuando se mueven a archivados/failed directorios (es decir, 'file_20251020_143530.xml'). Útil al ingerir archivos con el mismo nombre múltiples veces para evitar sobrescribir; si no se especifica, se establecerá por defecto en 'false' |
| 10 | Opcional restart parámetros; si estos no están configurados, se establecen valores predeterminados == Paso 3: Crear Archivo Connector Transport Configuración |
El FileIngestionConfiguration la clase actúa como un contenedor para el HOCON configuración que definimos en Step 2, la aplicación accede a la configuración a través de esta clase.
Aquí está cómo crear un FileIngestionConfiguration clase para configurar un Directorio Local Connector Transport:
var fileConfiguration = FileIngestionConfiguration.create("file-ingestion-connector", actorSystem.classicSystem().settings().config());
fileConfiguration.setFilesDirectory(tempDirectory.toString());
| 1 | Esto recupera la configuración de la aplicación del sistema de actores. El actorSystem puede típicamente ser inyectado como un Spring bean. |
| 2 | Esto indica la ruta a la configuración de donde la aplicación debe recuperar los valores de configuración. == Paso 4: Crear Archivo Connector Transport |
Aquí tiene un ejemplo de cómo un LocalDirectoryConnectorTransport puede ser creado:
var connectorTransport = LocalDirectoryConnectorTransport.builder()
.withName("file-ingestion-transport") (1)
.withActorSystem(actorSystem)
.withFileIngestionConfiguration(fileConfiguration) (2)
.build();
| 1 | Dé el ConnectorTransport un nombre significativo |
| 2 | Proporcione un archivo Connector Transport Configuración (consulte Step 3 por un ejemplo) |