Pergunta

Eu tenho um aplicativo em execução no modo de cluster (dois nós) sob tomcat / Linux. Infelizmente eu tenho notado que node1 e node2 têm diferentes configurações de tempo. Quando em um shell I punch "data" Eu fico em ambas as máquinas ao mesmo:

  > date  --rfc-2822
    Thu, 22 Oct 2009 15:00:15 +0200

Eu escrevi um pequeno programa java que só imprime a data formatado (e tempo).

import java.util.Date;
import java.util.TimeZone; 

public class TimeTest {

    public static void main(String args[]) {
    long time = System.currentTimeMillis();
    String millis = Long.toString(time);

    Date date = new Date(time);
    System.out.println("Current time in milliseconds = " + millis + " => " + date.toString());
    System.out.println("Current time zone: " + TimeZone.getDefault().getID());
    }
}

Em um nó eu estou ficando: hora atual em milissegundos = 1256215701981 => Qui Out 22 13:48:21 GMT + 01: 00 2009 zona atual tempo: GMT + 01: 00

enquanto que no outro nó que estou recebendo: hora atual em milissegundos = 1256215779203 => Qui 22 outubro 14:49:39 CEST 2009 fuso horário actual: Europe / Berlin

Este é um ambiente Linux ou uma configuração java? Em qualquer caso, como posso mudar isso?

Agradecemos antecipadamente!

Luis

Foi útil?

Solução

De acordo com a documentação a fonte do fuso horário padrão pode variar de acordo com a implementação. Para o seu caso parece que um servidor está usando Daylight Savings eo outro não é.

Além disso, este questão pode ser útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top