Client Library
Esta sección le guiará sobre cómo conectarse a un Persistent Scheduler externo vía HTTP. La guía para configurar su aplicación Java con el IPF Persistent Scheduler expuesto como una API HTTP está aquí.
Paso 1: Agregar dependencia
Agregue esto a pom.xml:
<dependency>
<groupId>com.iconsolutions.ipf.core.platform</groupId>
<artifactId>scheduler-client-connector-http</artifactId>
</dependency>
Paso 2: Configurar
Las operaciones de la API 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 tendrá que sobrescribir 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 schedule-job |
| 2 | configuración para el endpoint update-job |
| 3 | configuración para el endpoint find-job-by-id |
| 4 | configuración para el endpoint cancel-job |
| 5 | referencia de conveniencia, si todos los endpoints de la API están en el mismo host y puerto entonces puede sobrescribir este conjunto de propiedades |
Por defecto, todas las propiedades de host y puerto miran la propiedad ipf.scheduler.api.http.client.
Esto es por conveniencia para que no sea necesario sobrescribir individualmente todas las propiedades de host y puerto.
Paso 3: Cablear Spring Beans obligatorios
Se requiere que tenga presente en su aplicación Java un Spring Bean de:
-
com.iconsolutions.ipf.core.messagelogger.MessageLogger -
akka.actor.ClassicActorSystemProvider
Paso 4: Llamar a la API
Su aplicación ahora está lista para llamar a la API HTTP externa.
Esto lo hace usando el Spring Bean SchedulerConnectorInterface que fue introducido por la dependencia Maven 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, por favor vea Programación de su primer trabajo (a través de la biblioteca de cliente HTTP)