Cómo activar el Releaser desde Persistent Scheduler vía Kafka

El Liberador de Pagos tiene un Adaptador específico para consumir Kafka mensajes de la Persistent Scheduler.

Esta guía asume que usted tiene un Persistent Scheduler aplicación configurada para publicar comandos listos para su ejecución a Kafka usando el maven artefacto `scheduler-external-trigger-kafka`.

Para obtener información sobre cómo configurar su aplicación para esto, consulte Independiente Scheduler.

Para consumir los mensajes publicados en su aplicación Payment Releaser, debe hacer lo siguiente:

Paso 1: Importar Dependencia

Agregue la siguiente dependencia a su aplicación pom.xml.

<dependency>
    <groupId>com.iconsolutions.ipf.core.releaser</groupId>
    <artifactId>payment-scheduler-adaptor-kafka</artifactId>
</dependency>

Paso 2: Configure el Kafka Filtros de encabezado

El Receive Connector proporciona un Configuration Spring Bean para filtrar Kafka mensajes utilizando el custom encabezados los Scheduler proporciona.

La configuración de la aplicación debe actualizarse para filtrar únicamente los mensajes que desea que su aplicación utilice. Para obtener orientación sobre cómo hacer esto, consulte el Scheduler documentación:core:ipf-persistent-scheduler:features/standalone.adoc#_configure_kafka_header_filters.

Paso 3: (Opcional) Configure los Controladores de Comandos

El Persistent Scheduler Kafka el módulo de envío envía a través de comandos. Las reglas sobre cómo debemos manejar estos comandos están definidas en ExternalSchedulingHelper implementaciones.

Por defecto, hay dos controladores conectados a esto.payment-scheduler-adaptor-kafka módulo.

  1. ScheduledInstructionReleaseTrigger

  2. ScheduledTransactionReleaseTrigger

Clase de manejador Soporta triggerType de PaymentReleaser método llamado

ScheduledInstructionReleaseTrigger

"INSTRUCCIÓN_LIBERACIÓN_DE_PAGO"

prepareInstruction(UnitOfWorkId)

ScheduledTransactionReleaseTrigger

"LIBERACIÓN_DE_PAGO_DE_TRANSACCIÓN"

releaseTransaction(UnitOfWorkId, SupportingContext)

El "Soporta triggerType de" columna muestra el ExternalTriggerCommand.triggerType valores soportados. Si el triggerType es compatible, entonces el respectivo PaymentReleaser se llama al método.

El soportado `triggerType’s se utilizan como valores predeterminados ya que son proporcionados por una biblioteca común definida por el Scheduler Floclient.

Sobrescriba los Controladores de Comandos

Los dos predeterminados ExternalSchedulingHelper las implementaciones están conectadas con la condición de que no haya otros beans de sus interfaces presentes. Por lo tanto, para anular su comportamiento, puede definir sus propias implementaciones de estas interfaces:

  1. ScheduledInstructionReleaseTriggerInterface

  2. ScheduledTransactionReleaseTriggerInterface