Hibernate Annotations
Filed under: Java
Este es un artículo que escribí para el blog de mi amigo Niko.
Pueden leerlo acá: http://nikofactory.blogspot.com/2006/02/hibernate-annotations.html
Este es un artículo que escribí para el blog de mi amigo Niko.
Pueden leerlo acá: http://nikofactory.blogspot.com/2006/02/hibernate-annotations.html
Todos estos años desarrollando Web Applications, usando Tomcat y Eclipse (primero con el plugin Sysdeo, mas recientemente con el WTP). De esta manera puedo correr el Tomcat dentro de Eclipse, arrancarlo, pararlo y hacer debug como quiero, todo muy cómodo. Lo único malo era que cada vez que modificaba algo en una clase, tenia que reiniciar el contexto (Eclipse lo hace automáticamente, asique no me parecia tan malo), lo que llevaba unos segundos, mas lo que tardaba en iniciar Spring y/o Hibernate, mas reiniciar la aplicación desde el login otra vez. Todo esto no llevaba mas de un minuto, pero multiplicado por varias veces al dia, mas lo que uno puede distraerse mientras espera (a ver si agregaron algun update en LIA? Ufa, no.), me hacia perder un tiempito.
Hete aquí, que muchas veces cuando Eclipse restarteaba el contexto en Tomcat, aparecía una ventana con el mensaje Hot code replace failed, al que nunca le presté demasiada atención. Pero hoy, por alguna razón que desconozco (posiblemente por puro azar), una neurona se me conectó con otra, y relacioné Hot Code Replace con modificacion de mis clases, y me pregunté: por qué corcho tengo que restartear el contexto cada vez que modifico algo?
Me puse a investigar, y lo primero que encontré fue la opción Auto Reload en la configuración de Web Modules. La puse en false, y probé. Cambié algo en una clase, la grabé, la publiqué manualmente a Tomcat, recargué la página y funcionó!!! Pero en ese momento Eclipse me restarteó el contexto nuevamente.
Ahi me dí cuenta que el problema esta en Eclipse, que fuerza el restarteo del contexto sin importarle un cazzo de nada en cuanto detecta un cambio. Googleando un poco, encontré esto que me dió la pauta que WTP no hacia las cosas del todo bien. También ví que habia salido la versión 1.0.1 de WTP, asique actualicé. Volví a probar y ahora funciona bien (Eclipse no restartea el contexto), aunque no estoy seguro si fue por la 1.0.1 o alguna otra razón (como por ejemplo reiniciar Eclipse luego de haber cambiado la configuracion del Web Module).
De paso aprendí que el hot code replace funciona con limitaciones, por ejemplo, no soporta que se agreguen o quiten métodos de una clase, ni que se renombren. Pero para muchos casos es una bendición.
Asique he encontrado la luz, a partir de ahora todo sera mucho mejor, mi productividad aumentará de manera exponencial, la gente me sonreirá por la calle y probablemente me voy a ganar el Euromillions. Qué lindo!
Después de mas de un año sin postear, he decidido resucitar el blog. Ya hace unos meses que estoy instalado definitivamente en Londres, he terminado mi relación laboral con Globant (aunque sigo en contacto con ellos), y estoy trabajando para una compañia de medios de aqui.
Ultimamente recibí varios mensajes de gente que tuvo ofertas laborales de Globant, pidiéndome referencias sobre la empresa. A ellos les dije, y a cualquiera que quiera saber les digo, que si la oferta les cierra económicamente, no lo duden. Globant es una empresa donde se puede trabajar bien y hay buen ambiente. Es posible que sean un poco desprolijos en algunas cuestiones administrativas, pero es comprensible porque han crecido mucho en muy poco tiempo.