Desplegar aplicación con JBoss EAP desde Eclipse

Vamos a ver hoy cómo podemos desplegar una aplicación sencilla en Eclipse mediante el servidor JBoss EAP de Red Hat. Ya sabemos que la flexibilidad de JBoss nos permite ejecutar aplicaciones de configuración muy diversa, pero siempre es conveniente empezar por lo más simple. Si entendemos cómo se despliega un proyecto básico, eso facilitará que en un futuro seamos capaces de llevar a cabo el despliegue de aplicaciones más complejas. Recordad que JBoss dispone de un fichero de configuración (standalone.xml) en el que podemos ir afinando las particularidades requeridas por nuestro sistema.

 


Para mostrar el despliegue de una app sencilla, no es necesario que desarrollemos una desde cero. Como vimos en su momento en el blog, desde la página de Red Hat podemos descargarnos tanto instaladores de JBoss como proyectos quickstarts con los que probar el servidor. Entre los archivos descargados, hay uno que se denomina "jboss-eap-7.4.0-quickstarts.zip", donde se incluyen multitud de aplicaciones sencillas que podremos desplegar con el servidor. Estos despliegues nos servirán de ejemplo para cuando tengamos que configurar nuestra propia aplicación.


 

Construir aplicación Maven para JBoss EAP


Si tomamos el fichero "jboss-eap-7.4.0-quickstarts.zip" y lo desempaquetamos, veremos que contiene multitud de ejemplos con los que podremos ponernos a trabajar desde el primer minuto. En nuestro caso, nos vamos a ir la carpeta denominada "helloworld", ya que ese va a ser el proyecto que vamos a utilizar en este post.



Nos copiamos la carpeta "helloworld" en el workspace de Eclipse. Observando la estructura interna de este ejemplo, veremos que se trata de un proyecto Maven.


🔄 A continuación, entramos ya en Eclipse y vamos siguiendo los siguientes pasos.

1º) Nos vamos al menú principal FILE - IMPORT. Una vez se nos despliegue la ventana emergente, nos situamos en el apartado MAVEN.


2º) Como el objetivo es importar un proyecto Maven que ya está construido, seleccionamos la opción "EXISTING MAVEN PROJECTS" y pulsamos NEXT.


3º) A continuación, dentro del campo ROOT DIRECTORY tenemos que indicar la ubicación local del proyecto que queremos importar.


4º) Marcamos el check del proyecto "pom.xml" y pulsamos FINISH. Una vez importado, en nuestro workspace nos aparecerá el proyecto "helloworld".


 5º) Nos situamos sobre el fichero "pom.xml" y hacemos clic en el botón derecho del ratón. Una vez abierto el menú emergente, nos vamos a la opción "RUN AS".


6º) Una vez se hayan desplegado todas las opciones del menú, procedemos a ejecutar la opción MAVEN CLEAN.


7º) Nos situamos sobre el fichero "pom.xml" y hacemos clic en el botón derecho del ratón. Una vez abierto el menú emergente, nos vamos a la opción "MAVEN".


8º) Seleccionamos la opción UPDATE PROJECT. Una vez se nos despliegue la ventana emergente, pulsamos el botón OK.

 

9º) De nuevo, nos situamos sobre el fichero "pom.xml" y hacemos clic en el botón derecho del ratón. Una vez abierto el menú emergente, nos vamos a la opción "RUN AS".


10º) Una vez se hayan desplegado todas las opciones del menú, procedemos a ejecutar la opción MAVEN INSTALL.


11º) Se iniciará el proceso de build de la aplicación. Cuando dicho proceso haya finalizado, el proyecto debería quedar bien construido.


Una vez tenemos el proyecto preparado en Eclipse, ya podemos comenzar a trabajar con las funcionalidades del JBoss EAP.


Desplegar aplicación con JBoss EAP desde Eclipse


Para desplegar el proyecto anteriormente construido mediante el servidor JBoss EAP, simplemente tendremos que seguir los siguientes pasos desde Eclipse.


1º) Dentro de Eclipse, nos vamos a la pestaña SERVERS. Obviamente, debemos tener el servidor JBoss EAP instalado en nuestro workspace. Si no sabéis cómo hacerlo, os comento que ya lo vimos en su día en este mismo blog.


 2º) Nos situamos sobre el servidor RED HAT JBOSS EAP 7.4 y hacemos clic sobre el botón derecho del ratón.


3º) En el menú mostrado, seleccionamos la opción ADD AND REMOVE para proceder a indicar los proyectos que queremos desplegar.


4º) En la ventana emergente "Add and Remove", seleccionamos el proyecto que queremos desplegar ("helloworld") y pulsamos el botón ADD.


5º) Cuando ya no queramos añadir ningún proyecto adicional, damos por terminado el proceso de selección pulsando el botón FINISH.

 

6º) Tal y como se aprecia, el proyecto "helloworld" quedará añadido a la lista de proyectos que deberán ser desplegados por el servidor JBoss EAP.


Por otra parte, dentro del workspace podremos verificar que nuestro proyecto habrá quedado preparado para el despliegue.


7º) Nos situamos sobre el servidor RED HAT JBOSS EAP 7.4 (que estará en estado "Stopped") y hacemos clic sobre el botón derecho del ratón.


 

8º) Dentro del menú emergente asociado a JBoss EAP, seleccionamos la opción START y el servidor comenzará a arrancar.


9º) Si todo ha ido bien, el servidor quedará arrancado y se habrá realizado el despliegue de nuestra aplicación. Tanto el servidor como la aplicación deberían mostrar el estado "Started".

 

Para que os sirva de ayuda, tened en cuenta que el log de arranque del servidor (pestaña CONSOLE) debería mostrarnos algo similar a lo siguiente:


12:35:19,830 INFO  [org.infinispan.CONFIG] (MSC service thread 1-8) ISPN000152: Passivation configured without an eviction policy being selected. Only manually evicted entities will be passivated.
12:35:19,832 INFO  [org.infinispan.CONFIG] (MSC service thread 1-8) ISPN000152: Passivation configured without an eviction policy being selected. Only manually evicted entities will be passivated.
12:35:19,995 INFO  [org.infinispan.PERSISTENCE] (ServerService Thread Pool -- 74) ISPN000556: Starting user marshaller 'org.wildfly.clustering.infinispan.spi.marshalling.InfinispanProtoStreamMarshaller'
12:35:20,656 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 74) WFLYCLINF0002: Inició http-remoting-connector caché del contenedor ejb
12:35:21,107 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 75) WFLYUT0021: Contexto de web registrado: '/helloworld' para el servidor 'default-server'
12:35:21,329 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 42) WFLYSRV0010: Implementado "helloworld.war" (runtime-name : "helloworld.war")
12:35:21,475 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Reanudando el servidor
12:35:21,490 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.4.0.GA (WildFly Core 15.0.2.Final-redhat-00001) inició en 78040ms - Se iniciaron 447 de 647 servicios (348 servicios son diferidos, pasivos o por demanda)
12:35:21,495 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Interfaz de administración http escuchando en http://127.0.0.1:9990/management
12:35:21,496 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Consola de administración escuchando en http://127.0.0.1:9990


10º) Para verificar que nuestra aplicación está arrancada, nos vamos al navegador e introducimos la url de la aplicación junto con el puerto web asociado al servidor (en este caso, 8080).

http://localhost:8080/helloworld/HelloWorld

Si todo ha ido bien, nos debería salir algo como lo siguiente.


Y de esta forma ya tendríamos deplegada nuestra aplicación mediante el runtime del servidor JBoss EAP. En la carpeta "\standalone\deployments" de la instalación del JBoss debería aparecernos el siguiente contenido: la carpeta ".war" con con los objetos ".class" que deben ser desplegados y el fichero ".deployed" marcándonos que el despliegue se ha realizado correctamente.


👉 Estos serían los pasos necesarios para desplegar un proyecto Maven mediante JBoss EAP desde Eclipse. Por supuesto, el despliegue puede realizarse igualmente sin utilizar Eclipse, ya sea desde la línea de comandos o desde la consola de administración de JBoss. Comentar también que aquí hemos trabajado a partir de la carpeta ".war" que contiene las clases compiladas del proyecto, pero el despliegue también podría haberse realizado de forma directa incluyendo el fichero ".jar" de la aplicación en la carpeta "\standalone\deployments" de JBoss. Pero todo eso lo dejaremos para futuros posts.


Pues nada, eso era todo lo que quería comentaros en relación con el despliegue de aplicaciones con JBoss EAP desde Eclipse. A pesar de haber mostrado un ejemplo con un proyecto muy básico, espero que esto os sirva de ayuda para realizar los despliegues de vuestras propias aplicaciones. Como ya sabéis, las dudas que os vayan surgiendo las podéis ir dejando aquí abajo...

Saludos.


Comentarios

Entradas populares de este blog

Componentes y Ventanas de Java Swing

Creación de Webservice SOAP básico

Fichero standalone del Servidor JBoss EAP