viernes, 4 de diciembre de 2009

Java, Tomcat, Cambio de hora

Se que el titulo no dice mucho, pero en Uruguay, se cambia el horario en el verano, entonces en algunas aplicaciones que corren bajo tomcat, este a veces se marea con la hora y cuando ponemos una fecha, el sistema solo cambia la fecha para un día antes.


Esto lo que hace es bastante complicado pero muy fácil de solucionar, lo que hay que decirle es al arrancar tomcat, exportar una variable que utiliza java.


Entones yo supongo que estamos en un servidor Linux, y que al arrancar tomcat que lo hacemos con un script de inicio en /etc/init.d, le pasamos unos parámetros para que la maquina virtual de java se levante con alguna memoria mínima, máxima, etc. Entonces lo que hacemos es lo siguiente



export JAVA_OPTS="-Xms512M -Xmx1200M -XX:MaxPermSize=384M -XX:PermSize=128M -Duser.timezone=GMT-03:00"


Lo que interesa para el cambio de día, es la ultima parte (-Duser.timezone=GMT-03:00) esto hay que configurarlo según la zona horaria.


Luego solo con reiniciar tomcat la aplicación ya no se "mareara"con la hora.



Volver al inicio

No hay comentarios: