Visión general del proceso por lotes gestionado y el proceso por lotes Java

La función por lotes Java amplía el servidor de aplicaciones para alojar aplicaciones que deben realizar el trabajo por lotes junto con aplicaciones transaccionales. El trabajo por lotes puede tardar horas o incluso días en finalizar y utiliza grandes cantidades de memoria o capacidad de proceso mientras se ejecuta.

Una solicitud individual se puede completar con segundos de tiempo de procesador y relativamente poca memoria. Sin embargo, muchas aplicaciones deben completar un trabajo por lotes con una gran cantidad de cálculos y un uso intensivo de los recursos.

Liberty da soporte a las siguientes características por lotes:
  • Proceso por lotes Java

    La característica batch-1.0 permite el uso del modelo de programación JSR-352.

  • Proceso por lotes gestionado
    La característica batchManagement-1.0 proporciona las siguientes funciones:
    • Una interfaz REST para el envío de trabajos remoto
    • El programa de utilidad de línea de mandatos batchManager
    • Soporte de registro de trabajos
    • Soporte de varios servidores mediante JMS
Nota: La característica batchManagement-1.0 también habilita la característica batch-1.0 .

Conclusión y recuperación del proceso por lotes Java

La característica por lotes Java se comporta de forma diferente cuando el servidor está apagado mientras los trabajos continúan ejecutándose.

El proceso por lotes Java se desactiva cuando se detiene el servidor o se elimina la característica por lotes Java. También se desactiva y se vuelve a activar para procesar una actualización de configuración dinámica. La desactivación del proceso por lotes Java hace que se emitan solicitudes de detención para todos los mensajes y trabajos activos que se van a registrar para cada parada. Los trabajos tardan un periodo de 2 segundos en detenerse. Si después de 2 segundos hay trabajos por lotes Java que siguen en ejecución, se registra un mensaje que indica qué ID de ejecución de trabajos están todavía activos. El proceso por lotes Java se concluye. Si hay trabajos todavía en ejecución cuando se concluye el proceso por lotes Java, pueden experimentar un comportamiento imprevisible.

Importante: Si el servidor se detiene de forma inesperada, el proceso por lotes Java se recupera marcando todos los trabajos que se estaban ejecutando en el servidor pero que no se han completado como FAILED cuando se reinicia el servidor.