JRebel
¿Qué es JRebel?
En pocas palabras JRebel es una herramienta para la etapa de desarrollo, creado por la empresa ZeroTurnaround, que permite aplicar cambios realizados en el código a aplicaciones Java sin la necesidad de estar realizando continuamente redeploys en los contenedores.
¿Cómo funciona JRebel?
JRebel funciona como una agente java (plugin) dentro de la Máquina Virtual de Java a través de la opción –javaagent, lo que permite ser cargado en la misma JVM a través del mismo classloader y gobernado por las mismas políticas de seguridad y contexto de la aplicación y servir como un interceptor. A través de este comportamiento se adhiere al classloader del contenedor de la aplicación dentro del servido, extendiendo la funcionalidad para controlar la recarga de las clases.
Cuando una clase es cargada dentro del contexto, JRebel se encarga de encontrar el archivo .class correspondiente dentro del classpath de desarrollo. De esta manera, cuando se genera un cambio en el archivo (Los cambios son detectados a través del timestamp), el agente se encarga de realizar la propagación del cambio a través de todos los contextos. Este mismo comportamiento puede ser utilizado para monitorear cambios en archivos JAR.
Adicionalmente, JRebel cuenta con varios plugins que le permiten no solo controlar el cambio de clases, sino el cambio de archivos de configuración usados por varios frameworks lo que permite realizar cambios de configuración de la aplicación.
Contenedores Soportados:
- Oracle WebLogic
- IBM WebSphere Application Server
- Tomat
- JBoss
- Glassfish
- Resin
- Google App engine
- Jetty
- SAP Netweaver
- SpringSource DM Server
- Oracle OC4J
- Eclipse Virgo
- Apache Gerónimo
Entornos de Desarrollo Soportados:
- Eclipse
- Intellilj IDEA
- NetBeans
- Oracle JDeveloper
- MyEclipse
- Rational Application Developer
Frameworks Soportados:
- Spring Framework (Core, Data, MVC, Security, WebFlow, WS)
- Faclets
- JAXB
- Hibernate
- Velocity
- Wicket
- ZK
- Y muchos más (La lista completa se encuentra aquí.)
Licencias:
Esta herramienta cuenta con dos un modelo de licencia. El primer corresponde a un ambiente empresarial, donde se vende el uso de la herramienta para desarrollo de aplicaciones comerciales. El segundo modelo cuenta con diferentes versiones gratuitas, entre las que encontramos una licencia de uso personal (no comercial) y una licencia para proyectos open source. Para el ejemplo a mostrar se ha creado un registro personal, con el cual se requiere otorgar acceso a una cuenta de Twitter o Facebook.
INSTALACIÓN Y CONFIGURACIÓN DEL PLUGIN EN ECLIPSE
Antes de iniciar el proceso de instalación, es necesario realizar el registro en el sitio http://www.jrebel.com para obtener una de las licencias con las que se pueda activar posteriormente el plugin y poder, de esta manera, tener acceso a todos los beneficios de esta excelente herramienta. Para esta ejemplo se aplicó a una licencia gratuita, que como anuncian en el sitio, que es válida para cualquier persona que no tenga relación con proyectos comerciales y que esté cansado de construir y realizar continuos despliegues de código java. Es importante que para este tipo de licencia se requiere brindar acceso a una cuenta de Twitter o Facebook durante el tiempo que deseemos trabajar con la herramienta. (JRebel realizará entradas en la cuenta para hacer publicidad de si misma, indicando cuanto tiempo nos hemos ahorrado). Una vez completo el registro se tendrá acceso al sitio https://my.jrebel.com/, de donde se podrá obtener la licencia, como se muestra a continuación.
Para instalar el plugin basta con ingresar al Marketplace de Eclipse (Help > Eclipse Marketplace…) y buscar por el nombre de “JRebel for Eclipse”. Una vez encontrado se debe hacer clic en el botón “Install” y seguir las instrucciones que aparecen en pantalla.
Después de reiniciar Eclipse se puede ingresar a la vista de JRebel (JRebel Config Center). Antes de comenzar es necesario realizar la activación de la licencia, por lo que se debe ingresar a la pestaña ‘Activation’ e ingresar los valores requeridos.
Y listo… ahora simplemente hacemos clic derecho en el proyecto que deseemos utilizar y activamos la opción de JRebel. Automáticamente se creará un archivo JRebel.xml que contiene las rutas donde el plugin estará supervisando cualquier modificación.
Video Tutoriales
A continuación les dejo los videos tutotriales realizados por los creadores de JRebel donde dan una explicación y un tutorial paso a paso de como utilizar esta grandiosa herramienta!