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)