Programa de utilidad de cliente de línea de mandatos batchManager

El programa de utilidad de cliente de línea de mandatos batchManager proporciona una interfaz de línea de mandatos para gestionar los trabajos por lotes que se ejecutan en Liberty.

El programa de utilidad de cliente de línea de mandatos batchManager interactúa con el gestor de proceso por lotes a través de la API REST del gestor de proceso por lotes. Para utilizar el programa de utilidad de cliente de línea de mandatos batchManager, el gestor de proceso por lotes debe ejecutarse en el servidor de Liberty. Utilice la característica de gestión de proceso por lotes para instalar y habilitar el gestor de proceso por lotes de Liberty.

Configuración SSL

El programa de utilidad de cliente de línea de mandatos batchManager se comunica con el gestor de proceso por lotes a través de una conexión SSL. Para facilitar la comunicación SSL con un gestor de proceso por lotes que se ejecuta en un servidor de Liberty, el programa de utilidad debe poder verificar el certificado SSL del servidor de Liberty.

Si el certificado SSL está firmado por una entidad emisora de certificados (CA) conocida, el programa de utilidad puede verificar el certificado mediante la CA. No es necesaria ninguna configuración adicional.

Si el certificado SSL no está firmado por una CA, debe configurar el programa de utilidad para que confíe en el certificado SSL del servidor realizando una de las acciones siguientes.
  • Especifique la opción --trustSslCertificates, que configura el programa de utilidad para confiar en todos los certificados SSL.
  • Incluya el certificado SSL del servidor en el almacén de confianza del programa de utilidad.

Si elige especificar la opción --trustSslCertificates, el programa de utilidad confía en todos los certificados SSL que recibe y no es necesaria configuración adicional.

Si elige la opción de incluir el certificado SSL del servidor en el almacén de confianza del programa de utilidad, también debe configurar el programa de utilidad para que pueda encontrar su almacén de confianza. El programa de utilidad es un principal Java autónomo. Para configurar SSL, utilice propiedades del sistema como, por ejemplo, javax.net.ssl.truststore.

 Si el gestor de proceso por lotes se ejecuta en la misma máquina que el programa de utilidad, puede apuntar al programa de utilidad directamente en el almacén de claves del servidor:
   $ export JVM_ARGS="-Djavax.net.ssl.trustStore=/path/to/server/keystore.jks"
   $ batchManager submit ...
Atención: La variable de entorno JVM-ARGS pasa argumentos de JVM como, por ejemplo, las propiedades -D al programa de utilidad de cliente de línea de mandatos batchManager.
Si no puede utilizar el almacén de claves del servidor directamente, debe exportar el certificado del servidor desde el almacén de claves del servidor e importarlo al almacén de confianza del cliente. Utilice el programa de utilidad keytool de JDK para exportar e importar certificados. En el siguiente ejemplo, el certificado de servidor se almacena en el archivo de almacén de claves [server-dir]/resources/security/key.jks con el alias default y la contraseña Liberty.
    $ keytool -export -alias default -file server.crt -keystore [server-dir]/resources/security/key.jks -storepass Liberty
    $ keytool -import -alias server_crt -file server.crt -keystore /path/to/truststore.jks -storepass passw0rd
Atención: El mandato import crea el archivo truststore.jks si el archivo no existe.
    $ export JVM_ARGS="-Djavax.net.ssl.trustStore=/path/to/truststore.jks"
    $ batchManager submit ...

Uso de los mandatos

El programa de utilidad de cliente de línea de mandatos batchManager proporciona mandatos para enviar, detener, reiniciar y comprobar el estado de los trabajos.

Para el uso general del programa de utilidad:

$ batchManager [command] [options]

Para ver una lista de los mandatos disponibles:

$ batchManager help

Para ver la descripción y las opciones de un mandato específico:

$ batchManager help [command]

El siguiente ejemplo muestra cómo enviar un trabajo y esperar a su finalización:

  $ batchManager submit \
        --batchManager=<host>:<port>
        --user=[credenciales para iniciar una sesión en el gestor de proceso por lotes]
        --password=[credenciales para iniciar una sesión en el gestor de proceso por lotes]
        --applicationName=[nombre de aplicación utilizado al empaquetar la aplicación por lotes]
        --jobXMLName=[nombre base del archivo XML del trabajo en el directorio batch-jobs de la aplicación]
        --wait

jobParametersFile y jobPropertiesFile

Al enviar un trabajo por lotes utilizando el programa de utilidad de cliente batchManager, jobParametersFile y jobPropertiesFile admiten el uso de varios archivos separados con comas. Los archivos posteriores en la lista separada por comas tienen prioridad sobre los archivos que aparecen primero en la lista. El ejemplo siguiente ilustra el uso correcto de la lista separada por comas.
jobParametersFile=filePath1,filePath2,filePath3
jobPropertiesFile=filePath1,filePath2,filePath3
A modo de ejemplo, --jobParametersFile=<filepath1> sobrescribiría --jobParametersFile=<filepath1>,<filepath2> en el archivo de propiedades del control. El parámetro resultante es --jobParametersFile=<filepath1>.
[17.0.0.3 and later]

Propiedades de control y parámetros de trabajo

Para crear un conjunto único de parámetros de trabajo, el programa se inicia con un conjunto vacío y carga continuamente propiedades de distintos orígenes. Después, el programa fusiona las propiedades en un solo conjunto. Una vez que el programa lee y carga todos los orígenes, el programa pasa el conjunto único de propiedades a la emisión del trabajo como parámetros de trabajo.

Este conjunto de propiedades se crea fusionando en este orden. Cuando se carga la misma propiedad con la misma clave y se establece más de una vez, el último valor altera temporalmente el valor anterior. Los últimos pasos de esta secuencia tienen una prioridad superior sobre los pasos anteriores.

  1. Si el parámetro --jobParametersFile no está incluido como un parámetro de línea de mandatos, las acciones siguientes se producen en orden de prioridad ascendente.
    1. El contenido de los archivos referenciados por la propiedad de control --jobParametersFile se cargan y se fusionan. Esta propiedad de control podría aparecer en solo un archivo de propiedad de control, o podría aparecer en más de un archivo, si la propiedad se ha alterado temporalmente.
    2. Las propiedades de control del parámetro de trabajo se cargan y se fusionan. Estas propiedades se estructuran como --jobParameter=key=value dentro del archivo de propiedades de control.
    3. Los parámetros de trabajo de línea de mandatos se cargan y fusionan.
  2. Si el parámetro --jobParametersFile no está incluido como un parámetro de línea de mandatos, las acciones siguientes se producen en orden de prioridad ascendente.
    1. El contenido de los archivos referenciados por la propiedad de control --jobParametersFile se cargan y se fusionan. Esta propiedad de control podría aparecer en solo un archivo de propiedad de control, o podría aparecer en más de un archivo, si la propiedad se ha alterado temporalmente.
    2. Las propiedades de control del parámetro de trabajo se cargan y se fusionan. Estas propiedades se estructuran como --jobParameter=key=value dentro del archivo de propiedades de control.
    3. Los parámetros de trabajo de línea de mandatos se cargan y fusionan.

Esta estructura se produce porque el parámetro --controlPropertiesFile tiene menos prioridad que los argumentos de la línea de mandatos. El nivel en el cual especifique el parámetro --jobParametersFile determina el nivel de prioridad de estos archivos.

Cuando el programa lee y carga cada archivo en la secuencia, el programa contrae las propiedades --jobParametersFile y --jobPropertiesFile que se encuentran en un solo repositorio. Cada propiedad es un alias de la otra. La alteración temporal de un argumento de línea de mandatos o propiedades de control con uno de estos alias reemplaza una instancia de cualquiera de los dos que aparece en un archivo de propiedades de control modificadas temporalmente anterior.

Nota: Consulte el archivo de información de Javadoc java.util.Properties.load() para ver especificaciones de comentario.
For z/OS platforms

Programa de utilidad de cliente de línea de mandatos batchManager en z/OS con un conjunto de claves SAF

Para utilizar el conjunto de claves de SAF (System Authorization Facility) del servidor Liberty con el programa de utilidad de cliente de línea de mandatos batchManager, debe establecer los valores java.environment, y un ID de usuario especificado en la llamada del programa de utilidad de cliente de línea de mandatos batchManager que tenga autorización para leer el conjunto de claves SAF.

Los siguientes mandatos autorizan al usuario para leer el conjunto de claves SAF.

Importante: ringOwnerId es normalmente el mismo ID que el ID de usuario del servidor Liberty.

PermitRingOwnerId.RingName.LST CLASS(RDATALIB)ID(userId)ACCESS(UPDATE)

SETROPTS RACLIST(RDATALIB) GENERIC(RDATALIB) REFRESH

Para obtener más información, consulte z/OS Security Server RACF Command Language Reference de WebSphere Application Server.

El siguiente ejemplo define la variable de entorno JVM_ARGS.

export JVM_ARGS="-Djavax.net.ssl.trustStore=safkeyring://ringOwnerId/ringName
-Djavax.net.ssl.trustStoreType=JCERACFKS -Djavax.net.ssl.keyStore=safkeyring://ringOwnerId/ringName
-Djavax.net.ssl.keyStoreType=JCERACFKS -Dcom.ibm.ssl.keyStoreFileBased=false -Dcom.ibm.ssl.trustStoreFileBased=false
-Djava.protocol.handler.pkgs=com.ibm.crypto.provider -Djavax.net.ssl.keyStorePassword=password"
Atención: La propiedad javax.net.ssl.keyStorePassword es necesaria y su valor debe ser una contraseña, que se utiliza para descodificar la copia de la información de claves en la máquina virtual Java (JVM) mientras existe en el almacenamiento.

Códigos de retorno

El programa de utilidad de cliente de línea de mandatos batchManager genera los siguientes códigos de retorno:
Código Descripción
0 La tarea se ha completado con normalidad.
20 No se ha especificado un argumento obligatorio.
21 Se ha especificado un argumento no reconocido.
22 Se ha especificado un valor de argumento no válido.
255 Se ha producido un error desconocido.
Nota: Si especifica el argumento --wait, el programa de utilidad genera los siguientes códigos de retorno sobre el estado del trabajo que está esperando.
Código Descripción
33 El trabajo se ha detenido.
34 El trabajo no se ha completado correctamente.
35 El trabajo se ha completado satisfactoriamente.
36 El trabajo se ha abandonado.

Icono que indica el tipo de tema Tema de concepto

Nombre de archivo: cwlp_jbatch_commandlineutil.html