Membro desde: 29/03/2006 10:06:51
Mensagens: 443
Localização: sao paulo - sp
Offline
Boa tarde
Eu tenho uma servlet que recebe muitas requisições e estamos preocupados com o seguinte pedaço de código:
São duas variáveis globais que lêem um arquivo de propriedades. Como essa servlet e executada centenas de vezes por segundo ficamos preocupado se o fato de ler toda vez um arquivo de propriedade causaria um problema de perfomance da aplicação e se existe uma forma mais prática de resolver essa questão.
Desde já muito obrigado.
Ronildo da Rocha Braga Jr.
Programador, nada mais.
Membro desde: 24/12/2008 13:47:46
Mensagens: 118
Offline
ronildobraga wrote:Boa tarde
Eu tenho uma servlet que recebe muitas requisições e estamos preocupados com o seguinte pedaço de código:
São duas variáveis globais que lêem um arquivo de propriedades. Como essa servlet e executada centenas de vezes por segundo ficamos preocupado se o fato de ler toda vez um arquivo de propriedade causaria um problema de perfomance da aplicação e se existe uma forma mais prática de resolver essa questão.
Desde já muito obrigado.
Leia o valor no inicio da aplicação e armazena na memória. Declare duas variaveis como static e popule-as no inicio da subida da aplicação. Depois busque sempre das variaveis.
Membro desde: 16/03/2007 10:46:06
Mensagens: 253
Localização: São Paulo
Offline
Pessoal...
Pelo que entendi... Esta tudo ok como esse código, já que as duas variaveis já são static. Desse modo tem-se a garantia que esse código só vai ser executado uma vez (na primeira vez que a Servlet for instanciada).
Esse código já está fazendo exatamente o que vc quer ronildobraga.
Membro desde: 23/04/2008 09:44:26
Mensagens: 304
Offline
Dica: nem tudo em um servlet pode ser "static". Algumas coisas (como NumberFormat e DateFormat) você tem de deixar "thread-local". Um exemplo disso está aqui: