jueves, 8 de enero de 2015

Cargar librerías externas al CLASSPATH del Servidor WebLogic

El uso de librerías externas para el funcionamiento de las aplicaciones es muy común, para ciertas aplicaciones algunas librerías pueden incluirse en el mismo archivo de despliegue, pero en muchos casos y para otro tipo de aplicaciones es necesario adjuntar estas librerías desde el arranque del servidor WebLogic, esto es, cargar las liberías en el CLASSPATH.

Para aplicaciones Web, por ejemplo, las librerías se pueden incluir en el sub-directorio lib, facilitando el despliegue. Otra opción es el uso de librerías compartidas, que podremos ver otro post.

Usualmente la carga de librerías externas se requiere para aquellas aplicaciones no podemos o no debemos alterar por indicaciones del fabricante, o simplemente no existe una forma de empaquetar tanto la aplicación como las librerías, etc. Ejemplo de estas aplicaciones son: aplicaciones de Oracle SOA Suite, proyectos de Oracle Service Bus, aplicaciones J2EE que utilizan frameworks predefinidos.

Normalmente las librerías se encuentran empaquetadas en archivos JAR (.jar), no obstante también las podemos encontrar como archivos ZIP (.zip). Existen varios métodos para cargar librerías externas en el servidor WebLogic, alguno de estos són:

a) El siguiente método funciona para cualquier librería empaquetada en archivos JAR, todos los servidores WebLogic del dominio cargan las librerías.

  1. Colocar las librerías en el directorio lib de nuestro dominio WebLogic. 
  2. Reiniciar el servidor WebLogic.


b) Este método nos funciona tanto para archivos JAR como ZIP, todos los servidores WebLogic que para su arranque utilizan el achivo setDomainEnv cargarán las librerías.

  1. Abrir en modo edición el archivo setDomainEnv.sh localizado en el directorio bin de nuestro dominio WebLogic.
  2. Localizar y editar alguna línea que inicia con la cadena PRE_CLASSPATH, en esta línea agregamos el nombre, incluyendo la ruta, de cada una de las librerías. Por ejemplo: PRE_CLASSPATH="${PRE_CLASSPATH}${CLASSPATHSEP}/u03/apps/custom/libs/com.betinox-core-2.0.2.jar:/u03/apps/custom/libs/lib_FML.zip"
  3. Reiniciar el servidor WebLogic.

c) Mi preferido, todo lo hacemos desde la consola de administración que para eso es. Este método nos funciona tanto para archivos JAR como ZIP, para esta forma es necesario que el Node Manager este en funcionamiento y sea este quien arranque el servidor WebLogic.

  1. Ingresar a la consola de administración WebLogic
  2. Ir a la sección del servidor Manejado en el cual se desean cargar las librerías, es decir, en donde se ejecuta nuestra aplicación.
  3. Ir a la pestaña Inicio del Servidor (Server Start) y ubicar el campo CLASSPATH, en este campo agregamos el nombre, incluyendo la ruta, de cada una de las librerías. Por ejemplo: /u03/apps/custom/libs/com.betinox-core-2.0.2.jar:/u03/apps/custom/libs/lib_FML.zip
  4. Reiniciar el servidor WebLogic.

Cada una tiene sus ventajas y desventajas, podemos utilizar la que más se nos acomode considerando mantenimiento y rendimiento.

Hasta la próxima.


No hay comentarios:

Publicar un comentario