Documentation for a newer release is available. View Latest

Programación de su primer trabajo (a través de la biblioteca de cliente HTTP)

Hay algunas cosas que configurar para comenzar a programar su primer trabajo del IPF Scheduler. Las haremos en el orden más sensato posible.

Creará un comando y un ScheduleJobSpecification que utiliza ese comando para definir el trabajo a ejecutar, luego enviará el ScheduleJobSpecification a la aplicación externa Persistent Scheduler usando el método scheduleJob de SchedulerConnectorInterface.

Paso 1: Cree un comando

Este es un comando que será enviado a su SchedulingHelper, el cual debe extender com.iconsolutions.ipf.core.platform.api.models.ExternalTriggerCommand.

Aquí hay un ejemplo:

    public static class MyCommand implements ExternalTriggerCommand {

        public MyCommand() {
            super();
        }

        public MyCommand(String triggerType, String source, String unitOfWorkId) {
            super(triggerType, source, unitOfWorkId);
        }

        public MyCommand(String triggerType, String source, String unitOfWorkId, Map<String, String> additionalProperties) {
            super(triggerType, source, unitOfWorkId, additionalProperties);
        }
    }
Su aplicación Persistent Scheduler debe tener un Spring Bean SchedulingHelper que soporte su implementación de SchedulingCommand. Vea Registrar un SchedulingHelper.

Paso 2: Programe el trabajo

Ahora le decimos a SchedulerConnectorInterface que programe nuestro trabajo con nuestro comando en un momento específico.

En el ejemplo siguiente ejecutamos nuestro trabajo cada 5 segundos.

    public void scheduleJob() {
        schedulerConnectorInterface.scheduleJob(new ScheduleJobSpecification()
                .jobSpecificationKey(new JobSpecificationKey("my-special-job-wow"))
                .schedulingSpecification("*/5 * * ? * *")
                .jobRequestor("test-requestor")
                .triggerIdentifier("trigger-identifier")
                .triggerCommand(new MyCommand(
                        "INSTRUCTION_PAYMENT_RELEASE",
                        "source-system-identifier",
                        "5147d836-7701-48f3-bcb1-ff40dcc1291d"));
    }

Note que si desea un trabajo no repetitivo, es decir, de una sola vez, debe usar singleSchedule y pasar un Instant que represente la hora de activación deseada, en lugar de proporcionar una schedulingSpecification de estilo cron.

¡Eso es todo! Ahora puede revisar su aplicación externa Persistent Scheduler para asegurarse de que los trabajos programados se ejecuten.