Ir al contenido principal

Entradas

Tomcat Cluster en Debian 7 (Wheezy)

Pues nos hemos animado a crear un cluster de tomcat. La verdad es muy sencillo hacerlo, simplemente habilitas unas opciones que ya vienen en tomcat y configuras mod_jk en apache para que administre el cluster y haga el balanceo de cargas. Muy, muy fácil, el detalle está en que no tienes alta disponibilidad, razón por la que puse el cluster en primer lugar. ¿Y entonces? Pues me puse a investigar, ya probé LiveRebel, y funciona de maravilla, pero igual te cobran... Así que busqué un poco más y di con mod_cluster de RedHat. Esta herramienta te permite lo mismo que mod_jk, pero le agrega alta disponibilidad, ¿a qué me refiero con alta disponibilidad? Al hecho de que cuando hay que hacer un redeploy de la aplicación si estas con mod_jk, apache no va a darse cuenta y te va a seguir enviando al tomcat que está haciendo el redeploy, y el cliente recibe el error de que no hay nada ahí, lo que sí hace mod_jk es notar que una instancia de tomcat ha sido dada de baja, entonces para lograr alta d
Entradas recientes

Escuela Sabática Universitaria

Había olvidado mencionarles que el sitio de la escuela sabática la tuve que migrar de Liferay a una aplicación en Grails debido a que la implementación en Liferay estaba basada en el uso de etiquetas, y la búsqueda de Liferay basada en etiquetas no es muy óptima, por lo que cada vez que teníamos más artículos se hacía exponencialmente más lento, llegó a tal lentitud que tuve que implementarle un cache a la aplicación, así sólo un cliente al día le tocaba esperar los más de 30 segundos que tardaba en cargar la página, en fin no era lo mejor, por lo que durante el invierno estuvimos trabajando en una versión basada en Grails con un diseño que hiciera que la búsqueda basada en las etiquetas que necesitamos para catalogar cada lección y tema que se publica, lo cual ha hecho que el sitio vuele :). En fin ya tenemos desde el segundo trimestre volando en esta nueva plataforma, a la cual le añadimos búsqueda textual entre otras cosas, pero ahora puedes buscar un texto tanto en título como en c

JQuery Image Upload en Spring MVC

Utilizar el jQuery File Upload de blueimp  en Grails es una delicia. Pero necesito hacer una aplicación grande y no sé lo suficiente como para mantenerla óptima dentro de Grails, así que decidí portarla a Spring MVC, pero no encontré una implementación de esta herramienta en Java que hiciera lo que hace el plugin, que simplemente implementa lo que la herramienta ya hace en otras plataformas. Así que me puse a implementarla y ya quedó. La pueden encontrar en github ... Sólo necesitan clonarla, y ejecutarla con maven: mvn tomcat7:run

Aplicación básica Spring MVC 3.2

Aplicación basada en: Spring 3.2.1 Hibernate 4.1.9 Utilizaré Maven para administrar la aplicación por lo que pueden utilizar NetBeans, IntelliJ, Eclipse o un editor de textos si así lo desean :) Para los que ya tienen experiencia y sólo necesitan ver los archivos, estos se encuentran en mi proyecto demo en github . Primero necesitas crear el proyecto base con mvn archetype:generate Y buscar la opción de aplicación web JEE ó crear una aplicación web con maven con cualquier IDE que lo soporte. Luego necesitamos asegurarnos de tener estas dependencias (el orden es importante): Puedes encontrar el pom.xml aquí El web.xml ya no es necesario en una aplicación web JEE 6, pero dado que estoy utilizando los perfiles de Spring (aunque esos creo que se pueden configurar sin el XML) y unas páginas de errores, estas necesitan estar en el web.xml , como lo muestro aquí , claro que puedes poner más cosas pero son las que necesitamos para nuestro proyecto. Ahora los archivos que conf

Un bootstrap como en Grails para una aplicación Spring

Siempre que me encuentro haciendo una nueva aplicación en Spring en algún momento en el tiempo empiezo a requerir de un estado inicial para que esta funcione. En Grails es bien fácil manejar esto, solo lo metes en el Bootstrap.groovy y listo. ¿Pero en una aplicación con Spring cómo lo hago? Aquí está una posible solución.

Conexiones colgadas en cada redeploy

¿Tienes conexiones que se quedan colgadas después de cada redeploy en tu aplicación Spring? Resulta que seguramente estas utilizando el DBCP de Apache para conectarte a tus bases de datos y este no cierra las conexiones cuando la aplicación le dice que es hora de cerrar todo. Aquí les voy a poner el código y configuración necesaria para que no tengan que estar reiniciando tanto su servidor de aplicaciones (Tomcat, JBoss, Glassfish, etc).

Mostrar imagen en reporte html

Si estas usando JasperReports para armar tu reporte HTML, habrás notado que no es tan sencillo mostrar las imágenes. Existe una webapp demo con un ejemplo de cómo lo puedes lograr si bajas el proyecto completo de JasperReports (que es la recomendada). Pero si solo quieres que funcione en HTML, además de configurar el ImageServlet (que eso no lo puedes evitar, porque lo necesita para el posicionamiento de los elementos dentro de la página), solo le habilitas la opción Is Lazy a tu imagen. Y le pasas la ruta a la imagen. De esta forma JasperReports no intentará cambiarla.