Una manera de implementar la carga de parches en WebLogic

WebLogic Application Server
"An application server is a software framework that provides an environment where applications can run, no matter what the applications are or what they do. It is dedicated to the efficient execution of procedures (programs, routines, scripts) for supporting the construction of applications.
Normally the term refers to Java application servers. When this is the case, the application server behaves like an extended virtual machine for the running applications, handling transparently connections to the database at one side, and connections to the Web client at the others)."
-- from Wikipedia [search: weblogic]

En ocasiones es necesario cargar determinadas clases que incluyen actualizaciones o nuevas funcionalidades a determinadas aplicaciones, OWAS (Oracle Weblogic Application Server) como actualmente se le conoce después de la compra por parte de Oracle a BEA Weblogic tiene multiples funcionalidades que nos permiten hacer las actividades de administración sea desde la consola o por archivos de arranque. En este caso, la carga de clases adicionales la realizaremos desde los archivos de arranque, lo cual me ha funcionado en las versiones de WebLogic (8, 9, 10 y 11).

Para ello es necesario ubicarse en el directorio de ejecución del dominio y modificar el archivo setDomainEnv.sh o si aun eres más limpio sin querer modificar nada de weblogic, declarar una variable PATCH_CLASSPATH desde tu perfil unix/linux.

Desde Weblogic
Existe una variable de ambiente en el archivo setDomainEnv.sh: PATCH_CLASSPATH, en este ejemplo estoy agregando dos clases: 532B.jar y CR380517_920mp2.jar así que lo único es acumular en la variable PATCH_CLASSPATH esas dos clases usando dos variables de ambiente ya definidas en el ambiente de Weblogic asi como el separador de clases CLASSPATHSEP.

# If you want to override the default Patch Classpath,
# Library Path and Path for this domain,
# Please uncomment the following lines and 
# add a valid value for the environment variables
# set PATCH_CLASSPATH=[myPatchClasspath] (windows)
# set PATCH_LIBPATH=[myPatchLibpath] (windows)
# set PATCH_PATH=[myPatchPath] (windows)
# PATCH_CLASSPATH=[myPatchClasspath] (unix)
# PATCH_LIBPATH=[myPatchLibpath] (unix)
# PATCH_PATH=[myPatchPath] (unix)

# ** Anexa los parches que necesitas que WebLogic tome en cuenta
# ** PATCH_CLASSPATH que se adjuntara antes del WEBLOGIC_CLASSPATH
# ** revisa el common/bin/commEnv.sh
PATCH_CLASSPATH="${DOMAIN_HOME}/patch/532B.jar${CLASSPATHSEP}"
PATCH_CLASSPATH="${DOMAIN_HOME}/patch/CR380517_920mp2.jar${CLASSPATHSEP}"
export PATCH_CLASSPATH
con eso solo alteramos el comportamiento del dominio donde deseamos aplicar el parche y no toda la instalación del Weblogic lo cual de ser así, afectaría el comportamiento de todos los dominios administrados.

Desde perfil unix/linux
Es necesario modificar tu archivo .profile o .bash_profile y agregar las siguientes lineas, ojo que en este paso no vas a contar con las variables de ambiente DOMAIN_HOME y CLASSPATHSEP, esos los tendras que redeclarar.
#!/bin/sh 
# vim: set ts=2 et sw=2 sts=2 si ai:

# unix.profile
# -
#
# Andres Aquino 
# Hewlett-Packard Company
# 

# This is the user profile enviroment file
# See bash_rc or bash_profile for more information.

# Weblogic Patchset
DOMAIN_HOME="${HOME}/Oracle/Middleware/user_domains/"CLASSPATHSEP=":"
PATCH_CLASSPATH="${DOMAIN_HOME}/patch/532B.jar${CLASSPATHSEP}"
PATCH_CLASSPATH="${DOMAIN_HOME}/patch/CR380517_920mp2.jar${CLASSPATHSEP}"
export PATCH_CLASSPATH
...
Ahora cada que inicies tu perfil podrás ubicar nuevas clases y al reiniciar tus dominios que estos sean tomados de la variable de ambiente ya declarada.

Referencias


buen camino!

Popular Posts