Modificación de la modalidad de cargador de clases WAR mediante scripts wsadmin

Puede utilizar scripts y la herramienta wsadmin para modificar la modalidad de cargador de clases WAR para aplicaciones.

Antes de empezar

Antes de iniciar esta tarea, la herramienta wsadmin debe estar ejecutándose. Consulte el tema Inicio del cliente de scripts wsadmin mediante scripts wsadmin para obtener más información.

Acerca de esta tarea

Atención: Si se está ejecutando una aplicación y se cambia un valor de la aplicación, ésta se reiniciará. En servidores autónomos, la aplicación se reinicia después de guardar el cambio. En productos de varios servidores, la aplicación se reinicia después de guardar el cambio y de que se hayan sincronizado los archivos en el nodo en el que está instalada la aplicación. Para controlar cuándo se produce la sincronización en productos con varios servidores, deseleccione Sincronizar cambios con nodos en la página de preferencias de la consola.

Para modificar la modalidad de cargador de clases WAR de una aplicación, realice los pasos siguientes:

Procedimiento

  1. Establezca una referencia en el documento deployment.xml. Por ejemplo:
    • Utilizando Jacl:
      set deployments [$AdminConfig getid /Deployment:my_application/]

      Resultado de ejemplo:

      nombre_aplicación(cells/nombre_célula/applications/nombre_aplicación.ear/deployments/
      nombre_aplicación|deployment.xml#Deployment_1276887608391)
    • Utilizando Jython:
      deployments = AdminConfig.getid('/Deployment:my_application/')
    Tabla 1. Valores de configuración de despliegue. En la tabla siguiente se describen los elementos del mandato getid.
    Elemento Definición
    set es un mandato Jacl
    deployments es un nombre de variable
    $ es un operador Jacl para sustituir un nombre de variable por su valor
    AdminConfig es un objeto que representa la configuración de WebSphere Application Server
    getid es un mandato AdminConfig
    Despliegue es un atributo
    my_application es una aplicación del directorio raíz_perfil/config/cells/nombre_célula/applications/
  2. Establezca una referencia al atributo deployedObject dentro del documento deployment.xml y establézcala en la variable deployedObject. Por ejemplo:
    • Utilizando Jacl:
      set deploymentObject [$AdminConfig showAttribute $deployments deployedObject]

      Resultado de ejemplo:

      (cells/nombre_célula/applications/nombre_aplicación.ear/deployments/
      nombre_aplicación|deployment.xml#ApplicationDeployment_1276887608391)
    • Utilizando Jython:
      deploymentObject = AdminConfig.showAttribute(deployments, 'deployedObject')
    Tabla 2. Valores de configuración de despliegue. En la tabla siguiente se describen los elementos de este mandato.
    Elemento Definición
    set es un mandato Jacl
    deploymentObject es un nombre de variable
    $ es un operador Jacl para sustituir un nombre de variable por su valor
    AdminConfig es un objeto que representa la configuración de WebSphere Application Server
    showAttribute es un mandato AdminConfig
    deployments es una variable a la que se asigna el documento deployment.xml
    deployedObject es un atributo dentro del documento deployment.xml
  3. Liste los módulos para el atributo deployedObject y establezca la lista en la variable myModules. Por ejemplo:
    • Utilizando Jacl:
      set myModules [lindex [$AdminConfig showAttribute $deploymentObject modules] 0]

      Resultado de ejemplo:

      (cells/nombre_célula/applications/nombre_aplicación.ear/deployments/
      nombre_aplicación|deployment.xml#WebModuleDeployment_1276887608391) 
      (cells/nombre_célula/applications/nombre_aplicación.ear/deployments/
      nombre_aplicación|deployment.xml#EJBModuleDeployment_1276887608391)
    • Utilizando Jython:
      myModules = AdminConfig.showAttribute(deploymentObject, 'modules')
      myModules = myModules[1:len(myModules)-1].split(" ")
      print myModules

      Resultado de ejemplo:

      ['(cells/nombre_célula/applications/nombre_aplicación.ear/deployments/
      nombre_aplicación|deployment.xml#WebModuleDeployment_1276887608391)', 
      '(cells/nombre_célula/applications/nombre_aplicación.ear/deployments/
      nombre_aplicación|deployment.xml#EJBModuleDeployment_1276887608391)']
    Tabla 3. Valores de configuración de despliegue. En la tabla siguiente se describen los elementos de este mandato.
    Elemento Definición
    set es un mandato Jacl
    myModules es un nombre de variable
    $ es un operador Jacl para sustituir un nombre de variable por su valor
    AdminConfig es un objeto que representa la configuración de WebSphere Application Server
    showAttribute es un mandato AdminConfig
    deployedObject es un atributo dentro del documento deployment.xml
    modules es un atributo dentro del documento deployment.xml
  4. Busque el módulo web y establezca la modalidad para el cargador de clases. Por ejemplo:
    • Utilizando Jacl:
      foreach module $myModules {
           if {[regexp WebModuleDeployment $module] == 1} { 
                      $AdminConfig modify $module {{classloaderMode modalidad}}}}
    • Utilizando Jython
      for module in myModules:
           if (module.find('WebModuleDeployment')!= -1):
              AdminConfig.modify(module, [['classloaderMode', 'modalidad']])
    Tabla 4. Valores de configuración de despliegue. En la tabla siguiente se describen los elementos de este mandato.
    Elemento Definición
    foreach es un mandato Jacl
    for es un mandato Jython
    módulo es un objeto que se está modificando
    $ es un operador Jacl para sustituir un nombre de variable por su valor
    myModules es un nombre de variable
    regexp es una función para utilizar una expresión regular que se utiliza para realizar búsquedas en de los mandatos anteriores
    module.find es una función para utilizar una expresión regular que se utiliza para realizar búsquedas en de los mandatos anteriores
    AdminConfig es un objeto que representa la configuración de WebSphere Application Server
    modify es un mandato AdminConfig
    classloaderMode es un atributo dentro del documento deployment.xml
    mode es el valor de modalidad de cargador de clases que desea establecer para el módulo WAR. El valor de modalidad es PARENT_FIRST o PARENT_LAST. Para obtener más información, consulte la documentación sobre los cargadores de clases.
  5. Guarde la configuración; por ejemplo:
    • Utilizando Jacl:
      $AdminConfig save
    • Utilizando Jython:
      AdminConfig.save()
  6. Compruebe los cambios realizados en el valor del atributo con el mandato showall. Por ejemplo:
    • Utilizando Jacl:
      $AdminConfig showall $módulo
    • Utilizando Jython:
      AdminConfig.showall(módulo)

      Resultado de ejemplo:

      {applicationDeployment '(cells/nombre_célula/applications/nombre_aplicación.ear/deployments/
      nombre_aplicación|deployment.xml#ApplicationDeployment_1276887608391)}
      
      {classloader (cells/nombre_célula/applications/nombre_aplicación.ear/deployments/
      nombre_aplicación|deployment.xml#Classloader_1276887608392)}
      {classloaderMode modalidad}
      {configs {}}
      {deploymentId 1}
      {startingWeight 10000}
      {targetMappings {(cells/nombre_célula/applications/nombre_aplicaciónear/deployments/
      nombre_aplicación|deployment.xml#DeploymentTargetMapping_1276887608392)}}
      {uri nombre_archivo_WAR.war}

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_warclmode
File name: txml_warclmode.html