jueves, 26 de abril de 2012

Debugging Remoto con Eclipse + WebSphere 7 + Maven

Tienes proyectos java en Maven y no puedes ubicar bugs fácilmente a falta de junit. Sin embargo, existe la alternativa de debugear la aplicación web a través de Java Debugger (jdb).

Aquí les muestro una guía de como hacer un debug remoto de la aplicación web en Eclipse y WebSphere 7 a través de Java Debugger (JDB).


Eclipse <----> Java Debugger (jdb) <----> WebSphere 7


1. Habilitar el WebSphere en modo Debug.

Para esto seguir los siguientes pasos: 
1. Servers –> Server Types –> WebSphere application servers
2. Under Server Infrastructure section –> expandir Java and Process Management –> Process definition
3. dentro de la seccion Additional Properties –> click Java Virtual Machine
4. clic en el check “Debug Mode”
5. En texbox Debug arguments, poner este valor: 


-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888

6. Reiniciar el servidor WebSphere.
Ahora, WebSphere se inicia en modo debug, y escuchando en el puerto 8888.(Al cual se conectara el Java Debugger de eclipse).

2. Deployar la aplicacion web en el WebSphere, por maven o consola web.

3. Eclipse’s Java Debugger (jdb)

En el IDE Eclipse , dentro del codigo fuente del proyecto

1. Click en “Run”, “Debug Configurations…”
2. seleccionar “Remote Java Application”, clic derecho y seleccionar “New”
3. Renombrar el nuevo nombre , e.g “WebSphere 7 Instance”
4. En “Connection Type”, seleccionar, “Standard (Socket Attached)”
5. Host, poner la ip de su servidor WebSphere
6. Port, poner 8888.
7. Click en el boton debug.
Ahora, Eclipse debugger ha iniciado y conectado al puerto del was 8888.

4. Debugging, observar el resultado.


Abra el navegador y escriba la URL de la aplicación web. Ahora, Eclipse se detendrá en el punto de interrupción definido.