Biblioteca del Cliente

Esta sección le guiará sobre cómo conectarse a un externo Persistent Scheduler vía HTTP. La guía para configurar su Java aplicación con el IPF Persistent Scheduler expuesto como un HTTP API is aquí.

Paso 1: Agregue la dependencia

Agregue esto a pom.xml:

<dependency>
    <groupId>com.iconsolutions.ipf.core.platform</groupId>
    <artifactId>scheduler-client-connector-http</artifactId>
</dependency>

Paso 2: Configurar

La API las operaciones tienen propiedades configurables, a saber, el host y el puerto. La configuración de referencia proporciona estos como localhost y 8080 respectivamente. Para su implementación, deberá anular estas propiedades.

ipf.scheduler.api {
  schedule.request.http.client { (1)
    host = ${ipf.scheduler.api.http.client.host}
    port = ${ipf.scheduler.api.http.client.port}
    endpoint-url = "/api/v1/schedule-job"
  }
  update.request.http.client { (2)
    host = ${ipf.scheduler.api.http.client.host}
    port = ${ipf.scheduler.api.http.client.port}
    endpoint-url = "/api/v1/update-job"
  }
  find.request.http.client { (3)
    host = ${ipf.scheduler.api.http.client.host}
    port = ${ipf.scheduler.api.http.client.port}
    endpoint-url = "/api/v1/find-job-by-id"
  }
  cancel.request.http.client { (4)
    host = ${ipf.scheduler.api.http.client.host}
    port = ${ipf.scheduler.api.http.client.port}
    endpoint-url = "/api/v1/cancel-job"
  }

  http.client { (5)
    host = "localhost"
    port = 8080
  }
}
1 configuración para el endpoint de trabajo-programado
2 configuración para el endpoint de actualización de trabajos
3 configuración para el endpoint find-job-by-id
4 configuración para el endpoint de cancelar-trabajo
5 referencia de conveniencia, si todo API si los endpoints se encuentran en el mismo host y puerto, entonces puede anular esta propiedad establecida.

Por defecto, todas las propiedades de host y puerto observan el ipf.scheduler.api.http.client propiedad. Esto es por conveniencia, por lo que no es necesario anular individualmente todas las propiedades de host y puerto.

Paso 3: Conectar Obligatorio Spring Beans

Se requiere que tenga un Spring Bean presente en su Java aplicación de:

  1. com.iconsolutions.ipf.core.messagelogger. MessageLogger

  2. akka.actor. ClassicActorSystemProvider

Paso 4: Llame al API

Su aplicación ya está lista para llamar al externo HTTP API. Usted hace esto utilizando el SchedulerConnectorInterface Spring Bean que fue introducido por el Maven dependency en el Paso 1 y llamando a los métodos respectivos en la clase.

package com.iconsolutions.ipf.core.scheduler.client.connector.http.api;

import com.iconsolutions.ipf.core.platform.api.models.CancelScheduleRequest;
import com.iconsolutions.ipf.core.platform.api.models.JobSpecification;
import com.iconsolutions.ipf.core.platform.api.models.JobSpecificationWithExecutionStatusResponse;
import com.iconsolutions.ipf.core.platform.api.models.ScheduleJobSpecification;

import java.util.Optional;
import java.util.concurrent.CompletionStage;

public interface SchedulerConnectorInterface {

    CompletionStage<JobSpecification> scheduleJob(ScheduleJobSpecification scheduleJobSpecification);

    CompletionStage<Optional<JobSpecification>> cancelJob(CancelScheduleRequest cancelScheduleRequest);

    CompletionStage<Optional<JobSpecification>> updateJob(JobSpecification jobSpecification);

    CompletionStage<Optional<JobSpecificationWithExecutionStatusResponse>> findJobById(String id);

}

Para más información sobre cómo programar su primer trabajo, consulte Scheduling Su Primer Trabajo (a través de HTTP Biblioteca del Cliente)