Mais uma da série rápido e caceteiro
Após dev reclamar que o timezone e locale tavam batendo errados na apresentação da aplicação, fui dar uma olhada.
Em resumo. Dev não definiu na app seu timezone/locale e ficou 100% dependente do SO. No caso era pod rodando na "nuvem".
"Resolução" via infra:
Para chamada na hora de subir a JVM - definir atributos da jvm na execução
-Duser.language=pt -Duser.country=BR -Duser.timezone=America/Recife
Só substitua para seu timezone
Resolução "certa" via devs:
Agora a parte divertida é fazer a aplicação definir valores padrão
Locale.setDefault(new Locale("pt", "BR"));
TimeZone.setDefault(TimeZone.getTimeZone("America/Recife")); // pre java8
ou
ZoneId.setDefault(ZoneId.of("America/Recife")); // java8+
Dúvidas? Lança aqui nos comentário do post
Ah... após questionamentos tenho mais uma:
-Dfile.encoding=UTF-8
System.setProperty("file.encoding", "UTF-8");
Pacotão para os preguiçosos:
-Duser.language=pt -Duser.country=BR -Duser.timezone=America/Recife -Dfile.encoding=UTF-8
Se pegar uma imagem s2i java (redhat/openshift) só definir
JAVA_OPTS=-Duser.language=pt -Duser.country=BR -Duser.timezone=America/Recife -Dfile.encoding=UTF-8
Nenhum comentário:
Postar um comentário
Dúvidas ou sugestões? Envie seu comentário.