Jasper: SOLUCION a un problema de configuración regional en linux (locale)

Este mensaje es por si a alguien le sucede lo mismo que a nosotros.

Sucede, en nuestra implementación del jasper, que es en un Debian (GNU/Linux), que cuando el servidor de reportes Jasper arranca en modo daemon al inicio del SO, NO TOMA LA CONFIGURACION REGIONAL DEL SISTEMA (/etc/default/locale), y queda con una codificación “en_US”, generando reportes con signo decimal “punto”, y separador de miles “coma”… (cuando tendría que ser al revés, como lo especifica la codificación “es_AR” en que está el SO).

Esto se soluciona momentáneamente, bajando el servicio (diaguita_reportes.sh stop) y levantándolo nuevamente (diaguita_reportes.sh start). Al levantarlo nuevamente, toma correctamente la configuración del sistema: “es_AR”

Pero con esta solución, ante un reinicio del SO, hay que manualmente levantar el servicio de reportes de Jasper.

La solución definitiva a este problema, es cambiar la siguiente linea del archivo diaguita_reportes.sh

DAEMON=“/usr/bin/java – jar $PATH_JASPER SERVLET:8081 $DEBUG_LEVEL $DEBUG_FILE”

Por esta otra:

DAEMON=“/usr/bin/java – -Duser.language=es -Duser.country=AR -jar $PATH_JASPER SERVLET:8081 $DEBUG_LEVEL $DEBUG_FILE”

De esta forma, cuando levanta el servidor de reportes al inicio del SO, lo hace con la configuración correcta.

Saludos

Diego

Hola Diego!

Muy bueno el aporte, ya lo subí a la rama de desarrollo para que en futuras versiones no tengas que seguir modificandolo :slight_smile: Saludos!

Se cierran todos los temas que tiene como título [SOLUCIONADO]