Timezone --> BRST ou GMT-3:00

Pessoal, qual o timezone correto a se setar nas aplicações ou mesmo no Tomcat (na sua inicialização)?
Antes eu estava setando o GMT-3:00, no entanto, agora com o horário de verão houve atualização das horas nos servidores e estes tiveram seus horários alterados, e começou a dar problema nas aplicações.
Verificamos que havia sito setado no Tomcat o TimeZone “America/Sao Paulo” que vai para o BRST (Brazilian Summer Time) enquanto que na aplicação estava o GMT-3:00, esta divergencia causava um atraso de 1 hora, no tempo da aplicação quando comparada com o tempo do SO.
ENfim, gostaria de saber se o correto é setar sempre “America/Sao Paulo” e se no horário de verão ele vai automaticamente para BRST (-2:00) e se depois ele vai para o GMT-3:00

Acredito que o ideal seja usar o “Brasil/East”. Porém, é importante sempre se lembrar de atualizar a JVM com um patch que a Sun disponibiliza com a data correta de início e fim do horário de verão.

Timezone é a coisa mais complicada a se tratar, principalmente se seus usuários estiverem espalhados pelo mundo, cada um com um fuso diferente. Pior ainda é quando a hora é armazenada no banco de dados sem o Timezone original. Mas divago…

No seu caso, é interessante que o Timezone seja consistente em toda a aplicação e, se todos os seus servidores e usuários estiverem no Estado de São Paulo, utilizar America/São Paulo, porque este vai ser corrigido pelo horário de verão. (Um que tem o mesmo fuso que o nosso, mas não tem horário de verão é o America/Recife.)