Inicio rápido del conector de archivos
A menudo es posible que desee configurar un conector para cargar archivos desde un destino específico. Esta guía explica cómo hacerlo.
Paso 1: Agregar la dependencia connector-file
La dependencia que debe agregar a su pom.xml es:
<dependency>
<groupId>com.iconsolutions.ipf.core.connector</groupId>
<artifactId>connector-file</artifactId>
</dependency>
Si importa el Icon BOM, o usa el Icon BOM como padre, no es necesario proporcionar una versión por separado.
Paso 2: Configuración
La configuración del conector, en general, está fuertemente impulsada por configuración. La configuración nos permite especificar:
-
Directorio de archivos
-
Intervalo de carga de archivos
Aquí hay 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)
restart-settings { (9)
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 referenciará en el código. Indica dónde, en la configuración de la aplicación, buscar la configuración de este File Connector Transport |
| 2 | Ruta del directorio con archivos |
| 3 | ID del directorio |
| 4 | Retraso inicial de carga |
| 5 | Intervalo de carga |
| 6 | Parámetro opcional para especificar dónde se archivarán los archivos procesados; si no se especifica, el valor predeterminado será 'archive' |
| 7 | Parámetro opcional para especificar dónde se almacenarán los archivos fallidos; si no se especifica, el valor predeterminado será 'failed' |
| 8 | Parámetro opcional para especificar desde dónde se procesarán los archivos; si no se especifica, el valor predeterminado será 'processing' |
| 9 | Parámetros de reinicio opcionales; si no se establecen, se utilizan valores predeterminados |
Paso 3: Crear la configuración del File Connector Transport
La clase FileIngestionConfiguration actúa como envoltorio para la configuración HOCON que definimos en Paso 2, la aplicación accede a la configuración a través de esta clase.
Aquí se muestra cómo crear una clase FileIngestionConfiguration para configurar un Local Directory 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 desde el actor system. El actorSystem normalmente puede inyectarse como un bean de Spring. |
| 2 | Esto indica la ruta a la configuración desde donde la aplicación debe recuperar los valores de configuración. |
Paso 4: Crear el File Connector Transport
Aquí hay un ejemplo de cómo se puede crear un LocalDirectoryConnectorTransport:
var connectorTransport = LocalDirectoryConnectorTransport.builder()
.withName("file-ingestion-transport") (1)
.withActorSystem(actorSystem)
.withFileIngestionConfiguration(fileConfiguration) (2)
.build();
| 1 | Asigne un nombre significativo al ConnectorTransport |
| 2 | Proporcione una File Connector Transport Configuration (consulte Paso 3 para un ejemplo) |