La biblioteca de scripts proporciona procedimientos de script Jython para ayudar en la automatización
del entorno. Utilice los scripts de gestión de recursos para configurar y gestionar las
configuraciones de Java™ Message Service (JMS).
Acerca de esta tarea
La biblioteca de scripts proporciona un conjunto de procedimientos para automatizar
las funciones de administración más comunes del servidor de aplicaciones.
Hay tres formas
de utilizar la biblioteca de scripts de Jython.
- Ejecute scripts de la biblioteca de scripts de Jython en modalidad interactiva con la
herramienta wsadmin. Puede lanzar la herramienta wsadmin, y ejecutar scripts individuales
incluidos en la biblioteca de scripts utilizando la sintaxis siguiente:
wsadmin>AdminServerManagement.createApplicationServer("myNode", "myServer", "default")
- Utilice un editor de textos para combinar varios scripts de la biblioteca de scripts de Jython
como muestra el ejemplo siguiente:
#
# My script Jython personalizado - archivo.py
#
AdminServerManagement.createApplicationServer("miNodo", "Servidor1", "default")
AdminServerManagement.createApplicationServer("miNodo", "Servidor2", "default")
# Utilice uno de ellos como primer miembro de un clúster
AdminClusterManagement.createClusterWithFirstMember("miClúster", "APPLICATION_SERVER",
"miNodo", "Servidor1")
# Añadir un segundo miembro al clúster
AdminClusterManagement.createClusterMember("miClúster", "miNodo", "Servidor3")
# Instalar una aplicación
AdminApplication.installAppWithClusterOption("AplicaciónPredet",
"..\installableApps\DefaultApplication.ear", "miClúster")
# Iniciar todos los servidores y aplicaciones del nodo
AdminServerManagement.startAllServers("myNode")
Guarde el script personalizado y ejecútelo desde la línea de mandatos,
según muestra la sintaxis siguiente:bin>wsadmin -language jython -f path/to/your/jython/file.py
- Utilice el código de la biblioteca de scripts de Jython como sintaxis de ejemplo para escribir
scripts personalizados. Cada ejemplo de script de la biblioteca de scripts muestra los métodos recomendados
para escribir scripts wsadmin. El código de la biblioteca de scripts se halla en el directorio
raíz_servidor_aplic/scriptLibraries.
En este directorio, los scripts se organizan en subdirectorios según la funcionalidad. Por ejemplo, el subdirectorio
raíz_servidor_aplicaciones/scriptLibraries/application/V70
contiene procedimientos que realizan tareas de gestión de aplicaciones que son
aplicables a la versión 7.0 y posterior del producto. El subdirectorio V70 que figura en las vías de acceso de la biblioteca de scripts no significa que los scripts de este subdirectorio sean de la versión 7.0.
Los procedimientos de gestión de recursos de mensajería
de la biblioteca de scripts se ubican en el subdirectorio
raíz_servidor_aplicaciones/scriptLibraries/resources/JMS/V70.
Al iniciar la herramienta wsadmin se cargan automáticamente todos los scripts del directorio. Para cargar automáticamente sus scripts Jython personalizados (
*.py) cuando se inicia la
herramienta wsadmin, guarde los scripts de automatización en un nuevo subdirectorio del
directorio
raíz_servidor_aplic/scriptLibraries.
Best practice: Para crear scripts personalizados con procedimientos de la biblioteca de scripts,
guarde los scripts modificados en un nuevo subdirectorio para impedir que se sobrescriba la biblioteca. No edite los procedimientos de script de la biblioteca de scripts.
bprac
Puede utilizar los scripts para realizar varias combinaciones de funciones de administración.
Utilice la siguiente combinación de procedimientos de ejemplo para crear un proveedor JMS y configurar recursos JMS para el proveedor JMS.
Procedimiento
- Opcional: Inicie la herramienta wsadmin.
Utilice este paso para iniciar la herramienta wsadmin y conectar con un servidor, o ejecute la herramienta
en modalidad local. Si inicia la herramienta wsadmin, utilice los ejemplos de modalidad interactiva de
este tema para ejecutar los scripts.
Cuando se inicia la herramienta wsadmin, el sistema carga todos los scripts
de la biblioteca de scripts.
- Configure un proveedor de JMS.
Ejecute el procedimiento createJMSProvider desde la biblioteca de scripts y especifique
los argumentos necesarios.
Para ejecutar el script, especifique el nodo, el servidor, el
nombre del proveedor de JMS, el nombre de la fábrica contextual inicial externa y el URL
del proveedor externo. Puede especificar de manera opcional
atributos adicionales en el formato siguiente:
[["atributo1", "valor1"], ["atributo2",
"valor2"]].
En la tabla siguiente se proporciona información adicional sobre los
argumentos que se van a especificar:
Tabla 1. Argumentos del script createJMSProvide. Ejecute el script para crear un proveedor de JMS.Argumento |
Descripción |
Nombre de nodo |
Especifica el nombre del nodo de interés. |
Nombre de servidor |
Especifica el nombre del servidor de interés. |
Nombre del proveedor de JMS |
Especifica el nombre que se va a asignar al nuevo proveedor de JMS. |
Nombre de la fábrica contextual inicial externa |
Especifica el nombre de clase
Java
de la fábrica de contexto inicial del proveedor de JMS. |
URL de proveedor externo |
Especifica el URL de proveedor
de JMS para búsquedas de JNDI externas. |
En el ejemplo siguiente se crea un proveedor de JMS de la configuración:
bin>wsadmin -lang jython -c "AdminJMS.createJMSProvider("myNode", "myServer", "myJMSProvider", "extInitCF",
"extPURL", [["description", "testing"], ["supportsASF", "true"], ["providerType", "jmsProvType"]])"
También puede utilizar la modalidad interactiva para ejecutar el procedimiento de script,
tal como se muestra en el ejemplo siguiente:
wsadmin>AdminJMS.createJMSProvider("myNode", "myServer", "myJMSProvider", "extInitCF",
"extPURL", [["description", "testing"], ["supportsASF", "true"], ["providerType", "jmsProvType"]])
El script devuelve
el ID de configuración del proveedor JMS nuevo.
- Configure una fábrica de conexiones JMS genérica.
Ejecute el procedimiento createGenericJMSConnectionFactory desde la biblioteca de scripts
y especifique los argumentos necesarios. Para ejecutar el script, especifique el nodo, el servidor,
el nombre del proveedor de JMS, el nombre de la nueva fábrica de conexiones, el nombre JNDI y el nombre JNDI externo. Puede especificar de manera opcional
atributos adicionales en el formato siguiente:
[["atributo1", "valor1"], ["atributo2",
"valor2"]].
En la tabla siguiente se proporciona información adicional sobre los
argumentos que se van a especificar:
Tabla 2. Argumentos del script createGenericJMSConnectionFactory. Ejecute el script para crear una fábrica de conexiones JMS genérica.Argumento |
Descripción |
Nombre de nodo |
Especifica el nombre del nodo de interés. |
Nombre de servidor |
Especifica el nombre del servidor de interés. |
Nombre del proveedor de JMS |
Especifica el nombre del proveedor de JMS. |
Nombre de la fábrica de conexiones |
Especifica el nombre que se va a asignar a la nueva fábrica de conexiones. |
Nombre JNDI |
Especifica el nombre JNDI que el sistema utiliza para enlazar la fábrica de conexiones con el espacio de
nombres. |
Nombre externo de JNDI |
Especifica el nombre JNDI utilizado para enlazar la cola con el
espacio de nombres del servidor de aplicaciones. Como convenio, utilice el nombre JNDI plenamente cualificado; por
ejemplo, con el formato jms/Nombre, donde
Nombre es el nombre lógico del recurso. Este nombre se utiliza para enlazar la información de enlace de la plataforma. El
enlace asocia los recursos definidos en el descriptor de despliegue del módulo con los
recursos reales (físicos) enlazados con JNDI por la plataforma. |
En el ejemplo siguiente se crea una fábrica de conexiones JMS de la configuración:
bin>wsadmin -lang jython -c "AdminJMS.createGenericJMSConnectionFactory("myNode", "myServer", "myJMSProvider",
"JMSCFTest", "jmsjndi", "extjmsjndi", [["XAEnabled", "true"], ["authDataAlias", "myalias"],
["description", "testing"]])"
También puede utilizar la modalidad interactiva para ejecutar el procedimiento de script,
tal como se muestra en el ejemplo siguiente:
wsadmin>AdminJMS.createGenericJMSConnectionFactory("myNode", "myServer", "myJMSProvider",
"JMSCFTest", "jmsjndi", "extjmsjndi", [["XAEnabled", "true"], ["authDataAlias", "myalias"],
["description", "testing"]])
El script devuelve el ID de configuración de la nueva fábrica de
conexiones JMS genérica.
- Cree un destino de JMS genérico.
Ejecute el procedimiento createGenericJMSDestination desde la biblioteca de scripts y especifique
los argumentos necesarios. Para ejecutar el script, especifique el nodo, el servidor,
el nombre del proveedor de JMS, el nombre del destino de JMS genérico, el nombre JNDI y el nombre JNDI externo. Puede especificar de manera opcional
atributos adicionales en el formato siguiente:
[["atributo1", "valor1"], ["atributo2",
"valor2"]].
En la tabla siguiente se proporciona información adicional sobre los
argumentos que se van a especificar:
Tabla 3. Argumentos del script createGenericJMSConnectionFactory. Ejecute el script para crear un destino de JMS genérico.Argumento |
Descripción |
Nombre de nodo |
Especifica el nombre del nodo de interés. |
Nombre de servidor |
Especifica el nombre del servidor de interés. |
Nombre del proveedor de JMS |
Especifica el nombre del proveedor de JMS. |
Nombre del destino de JMS genérico |
Especifica el nombre que se va a asignar al nuevo destino de JMS genérico. |
Nombre JNDI |
Especifica el nombre JNDI que el sistema utiliza para enlazar la fábrica de conexiones con el espacio de
nombres. |
Nombre externo de JNDI |
Especifica el nombre JNDI utilizado para enlazar la cola con el
espacio de nombres del servidor de aplicaciones. Como convenio, utilice el nombre JNDI plenamente cualificado; por
ejemplo, con el formato jms/Nombre, donde
Nombre es el nombre lógico del recurso. Este nombre se utiliza para enlazar la información de enlace de la plataforma. El
enlace asocia los recursos definidos en el descriptor de despliegue del módulo con los
recursos reales (físicos) enlazados con JNDI por la plataforma. |
En el ejemplo siguiente se utiliza una plantilla para crear un destino de JMS genérico
en la configuración:
bin>wsadmin -lang jython -c "AdminJMS.createGenericJMSDestination("myNode", "myServer", "myJMSProvider",
"JMSDest", "destjndi", "extDestJndi", [["description", "testing"], ["category", "jmsDestCatagory"],
["type", "TOPIC"]]))"
También puede utilizar la modalidad interactiva para ejecutar el procedimiento de script,
tal como se muestra en el ejemplo siguiente:
wsadmin>AdminJMS.createGenericJMSDestination("myNode", "myServer", "myJMSProvider",
"JMSDest", "destjndi", "extDestJndi", [["description", "testing"], ["category", "jmsDestCatagory"],
["type", "TOPIC"]]))
El script devuelve el ID de configuración del destino JMS genérico.
Resultados
Las bibliotecas de scripts wsadmin devuelven la misma salida que los mandatos
wsadmin asociados. Por ejemplo, el script AdminServerManagement.listServers() devuelve
una lista de servidores disponibles. El script
AdminClusterManagement.checkIfClusterExists() devuelve un valor true si el
clúster existe o false si el clúster no existe. Si el mandato no devuelve la
salida esperada, las bibliotecas de scripts devuelven un valor 1 cuando el script se
ejecuta satisfactoriamente. Si el script falla, las bibliotecas de scripts devuelven un
valor -1 y un mensaje de error con la excepción.
De forma predeterminada, el
sistema inhabilita la opción failonerror. Para habilitar esta opción, especifique
true como el último argumento del procedimiento de script, tal como se muestra en el ejemplo siguiente:
wsadmin>AdminApplication.startApplicationOnCluster("myApplication","myCluster","true")
Qué hacer a continuación
Cree scripts personalizados para automatizar el entorno combinando los
procedimientos de script desde la biblioteca de scripts. Guarde los scripts personalizados en un nuevo subdirectorio del
directorio raíz_servidor_aplic/scriptLibraries.