Cómo activar el Releaser desde Persistent Scheduler a través de 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 configuración de la aplicación para publicar comandos listos para la ejecución a Kafka utilizando el artefacto maven `scheduler-external-trigger-kafka`.

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

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

Paso 1: Importar Dependencia

Agregue la siguiente dependencia a la aplicación de usted 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 que proporciona el Programador.

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 la documentación del Programador: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 controlador 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" la 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