Documentation for a newer release is available. View Latest

UTILS2 - Simulador de iniciación de pagos

Este documento explica cómo usar el simulador de iniciación de pagos. Hay dos enfoques recomendados para el tutorial: con docker y sin docker. Veámoslos:

Utilizar la aplicación a través de Docker

A continuación se muestra una entrada simple de docker para el simulador de iniciación de pagos:

  payment-initiation-simulator-kafka:
    image: registry.ipf.iconsolutions.com/sample-systems-payment-initiation-simulator-kafka:2.0.101
    container_name: payment-initiation-simulator-kafka
    ports:
      - "8082:55555"
    volumes:
      - ./config/payment-initiation-simulator-kafka:/payment-initiation-simulator-kafka/conf
    user: "${UID:-1000}:${GID:-1000}"
    depends_on:
      - kafka

Además, la aplicación necesitará configuración que se coloca en el archivo "application.conf" dentro de un directorio config relativo a la entrada de docker anterior. El archivo conf contiene:

common-kafka-client-settings {
  bootstrap.servers = "kafka:9092"
}

connector {
default-receive-connector {
manual-start: true
}

  default-send-connector {
    manual-start = false
    call-timeout = 30s
    queue-size = 50
    max-concurrent-offers = 500
    resiliency-settings {
      minimum-number-of-calls = 1
      max-attempts = 1
      reset-timeout = 1s
      initial-retry-wait-duration = 1s
      backoff-multiplier = 2
    }
  }

  validator-error-handler-dispatcher {
    type = Dispatcher
    executor = "thread-pool-executor"
    thread-pool-executor {
      fixed-pool-size = 4
    }
  }
}

akka.kafka {
producer {
kafka-clients = ${common-kafka-client-settings}
}
consumer {
kafka-clients = ${common-kafka-client-settings}
}
}

Al ejecutarse, la ipf-developer-app escuchará datos en el puerto 8082. Este puerto también se expondrá a la máquina host. Los logs se exportarán a logs/ipf-developer.app-log relativo al archivo de docker.

Utilizar la aplicación sin Docker

Prerrequisitos

Para ejecutar este simulador se requiere:

  • Un runtime de Java 17

  • Un entorno Kafka que tenga:

  • Creación automática de topics habilitada, o

  • Topics creados para PAYMENT_INITIATION_REQUEST y PAYMENT_INITIATION_RESPONSE

Opciones de configuración

Propiedad

Descripción

Valor por defecto

common-kafka-client-settings.bootstrap.servers

Define los ajustes de bootstrap del servidor para kafka.

localhost:9092

server.port

Define el puerto en el que se ejecutará la aplicación

8082

Ejecución

Una vez descargado, colócalo en este directorio y ejecuta:

java -cp "payment-initiation-simulator-kafka-2.0.101-runnable.jar:config" -D"loader.main"="com.iconsolutions.samplesystems.paymentinitiation.simulator.PaymentInitiationSimulatorKafkaApplication" "org.springframework.boot.loader.launch.PropertiesLauncher"

La aplicación se iniciará y estará disponible en:

Ten en cuenta que en Windows, los dos puntos en el comando de ejecución deben reemplazarse por un punto y coma.