Alteración temporal de una API suministrada con una versión alternativa

Si una aplicación proporciona clases (o utiliza una biblioteca que las proporciona) que también están disponibles en el perfil Liberty, de forma predeterminada, se utilizan las clase del perfil Liberty. Para cambiar esto y para que la aplicación utilice las versiones alternativas de estas clases, la aplicación debe configurarse en el archivo server.xml, o en un archivo incluido.

Acerca de esta tarea

Si una aplicación web incluye clases que también están presentes en el entorno de ejecución de servidor, es posible que desee controlar qué copia de cada una de estas clases utiliza la aplicación. Por ejemplo, si están presentes distintas versiones de las clases en la aplicación y en el entorno de ejecución del servidor, debe asegurarse de que se utilice la versión empaquetada en la aplicación.

De forma predeterminada, todas las aplicaciones Java™ EE utilizan las clases del entorno de ejecución del perfil Liberty. Puede alterar temporalmente este comportamiento utilizando el atributo delegación de configuración del cargador de clases. Esta configuración es específica de una aplicación en particular, o de una biblioteca compartida que se puede seleccionar para que la utilice una aplicación.

Ejemplo

En el siguiente ejemplo, una aplicación denominada Scholar necesita utilizar las clases que proporciona (o que se proporcionan en una biblioteca que utiliza), en lugar de utilizar las copias de las clases que están disponibles en el perfil Liberty.

  • Si las clases están empaquetadas dentro de la aplicación, altere temporalmente el comportamiento de la delegación parentFirst predeterminado con un elemento classloader en el archivo de configuración server.xml o en un archivo que incluye:
    <application id="" name="Scholar" type="ear" location="scholar.ear">
      <classloader delegation="parentLast" />
    </application>
    Esto indica al cargador de clases de aplicación que busque en el perfil Liberty sólo después de buscar una clase en la aplicación y sus bibliotecas asociadas.
  • Si las clases están empaquetadas en una biblioteca compartida, añada el atributo delegation al elemento classloader que configura el uso de la biblioteca compartida como se detalla a continuación:
    <application id="" name="Scholar" type="ear" location="scholar.ear">
      <classloader delegation="parentLast" commonLibraryRef="mySharedLib"/>
    </application>  
    
    <library id="mySharedLib">
      <fileset dir="${server.config.dir}/myLib" includes="*.jar" />
    </library>

Puede también utilizar el atributo privateLibraryRef para las bibliotecas privadas de una aplicación. Consulte Compartir una biblioteca entre varias aplicaciones Java EE.


Icono que indica el tipo de tema Tema de tarea

Términos y condiciones para centros de información | Comentarios


Icono de indicación de fecha y hora Última actualización: 15 de junio de 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_classloader_alt_api
Nombre de archivo:twlp_classloader_alt_api.html