Documentation for a newer release is available. View Latest

Cómo ejecutar aplicaciones IPF en modo standalone

Las aplicaciones IPF se crean con 2 perfiles de maven:

  • container: genera contenedores docker

  • runnable: genera un jar ejecutable para ejecutar como aplicación standalone

Este documento se centra en cómo ejecutar aplicaciones IPF como aplicaciones standalone usando los runnable jars generados con el perfil runnable.

Dónde descargar los runnable jars

Todas las aplicaciones que produce IPF se publican en ipf-releases en Nexus. Los runnable jars estarán disponibles como artefactos con sufijo runnable en el repositorio de Nexus para cada versión de la aplicación que necesites. Por ejemplo, si quieres obtener el runnable jar de ODS ingestion para la versión 2.1.2 lo encontrarás en este enlace: nexus.ipf.iconsolutions.com/repository/ipf-releases/com/iconsolutions/ipf/ods/ods-ingestion-app/2.1.2/ods-ingestion-app-2.1.2-runnable.jar

Cómo generar runnable jars

Al construir una aplicación IPF usando los proyectos del scaffolder, se generan ambos perfiles, container y runnable, en el pom.xml.

Si quieres generar el runnable, debes invocar el perfil runnable así:

mvn clean install -P runnable

Cómo ejecutar runnable jars

Todos los runnable jars de IPF se producen como aplicaciones Spring Boot. Para ejecutar una aplicación IPF, tomando como ejemplo el jar de ODS ingestion anterior, ejecutarías lo siguiente:

java -cp ods-ingestion-app-2.1.2-runnable.jar:config -Dconfig.override_with_env_vars=true -Dloader.main=com.iconsolutions.ipf.ods.OdsIngestionApplication org.springframework.boot.loader.launch.PropertiesLauncher

Si usas Windows, debes reemplazar el primer : por ;, por ejemplo: ods-ingestion-app-2.1.2-runnable.jar;config

Si vas a sobrescribir alguna configuración por defecto de las aplicaciones, entonces, en este ejemplo, el archivo de configuración de la aplicación, application.conf, residiría en la carpeta config tal y como define :config. Aprovechamos el PropertiesLauncher de Spring Boot para cargar las propiedades en la aplicación.

Añadir métricas de conectores a runnable jars

Actualmente, nuestras imágenes docker ya están instrumentadas con el jar del agente cinnamon para el reporte de métricas de conectores. Esto no es posible cuando producimos el runnable jar, ya que no controlamos el despliegue (que depende del cliente). Hay más información sobre métricas de conectores aquí.

Para habilitar métricas de cinnamon en runnable jars, debes descargar la versión correcta del jar de cinnamon. La versión correcta aparece en el BOM bajo la propiedad cinnamon.version. El jar también está dentro del propio runnable jar y puede extraerse. Añade el javaagent al ejecutar el programa Java así:

java -javaagent:/lib/cinnamon-agent-2.19.3.jar -cp ods-ingestion-app-2.1.2-runnable.jar:config -Dconfig.override_with_env_vars=true -Dloader.main=com.iconsolutions.ipf.ods.OdsIngestionApplication org.springframework.boot.loader.launch.PropertiesLauncher