Desplegar una aplicación java en un OC4J

Hasta ahora siempre que había trabajado con aplicaciones Web en Java había utilizado como servidor web (o contenedor de servlets) Tomcat.

En el trabajo utilizan OC4J, y aunque en el desarrollo de la aplicación cada uno hemos tenido la libertad de elegir nuestro servidor (yo, Tomcat) a la hora de subir a servidores de prueba, pre-producción o incluso producción tenemos que adaptarnos a lo que tienen, por lo que me he visto obligado a aprender a desplegar una aplicación en un servidor OC4J.

Configuración de OC4J

Lo primero será ir a la carpeta de configuración de nuestro servidor OC4J y buscar el archivo server.xml, si ya tenemos más aplicaciones instaladas, veremos la ruta donde se encuentran los demás ficheros (.EAR) y añadiremos una nueva fila como esta

<application name="NOMBRE" path="ruta_al_fichero.ear" auto-start="true" />

Donde el name será el nombre que determine el acceso al programa y path la ruta al archivo .EAR que contendrá nuestra aplicación.

Ahora, en el fichero http-web-site.xml deberemos añadir una nueva línea con la información asociada a nuestro programa incluyendo la ruta con la que queremos que se acceda a la aplicación.

<web-app application="NOMBRE" name="NOMBRE" root="/NOMBRE" />

Creacción del .WAR y del .EAR

En mi proyecto, por ejemplo, no me da la posibilidad de exportarlo como un .EAR por lo que he tenido que crearlo, ya que lo necesita el OC4J, manualmente.

Lo primero será exportarlo como .WAR, para ello, en el eclipse, pulsaremos botón derecho sobre el proyecto, escogemos la opción de exportar y después como .WAR

Una vez tengamos nuestro fichero .WAR generado, crearemos una carpeta nueva en el mismo directorio llamada META-INF que incluirá dos ficheros

  • application.xml
  • MANIFEST.MF

Estos ficheros ya estarán generados dentro de nuestra aplicación, y en una carpeta con el mismo nombre, pero por si no, mostraré el código que deben de contener.

Estos ficheros nos servirán para que el OC4J sepa cómo y donde descomprimir nuestra aplicación.

Contenido de application.xml

El contenido de este fichero simplemente asocia el nombre de un programa con su .WAR por lo que será necesario, si se cambian las rutas, actualizar este archivo.

<?xml version = '1.0' encoding = 'windows-1252'?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
<application>
<display-name>NOMBRE</display-name>
<module>
<web>
<web-uri>NOMBRE.war</web-uri>
<context-root>NOMBRE</context-root>
</web>
</module>
</application>

Contenido de MANIFEST.MF

Realmente dudo de si este archivo es realmente necesario para el despliegue pero todos hasta ahora lo tienen, aunque el contenido parezca bastante irrelevante


Manifest-Version: 1.0
Class-Path:

Ejecutar la aplicación

Una vez realizados estos pasos, bastará con que situemos nuestro archivo .EAR en la carpeta que indicamos al configurar el OC4J, por defecto el servidor será capaz de hacer el deploy de la aplicación y ya podríamos acceder a ella utilizando el “NOMBRE” que hayamos indicado anteriormente.

Problemas al actualizar

Si sustituyes un .EAR por el anterior y no aparecen los cambios, prueba a modificar algo en el fichero server.xml y volver a guardarlo como estaba, esto forzará al servidor a desplegar todas las aplicaciones en busca de cambios.

Artículos relacionados



Comentarios en Desplegar una aplicación java en un OC4J

Aún no hay comentarios en el artículo Desplegar una aplicación java en un OC4J

Deja un comentario