Servlet com muitas requisições  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
ronildobraga
JavaEvangelist

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.

blog: http://www.iprogramming.blogspot.com/
[Email] [WWW] [MSN]
paulo.f.rodriguez
Debugger

Membro desde: 09/06/2009 14:51:45
Mensagens: 71
Offline

Vc realmente precisa ler esse valor toda hora?

Nao e recomendável, geralmente se tem um listener ou cria-se um leitor independente que pode retornar um bean com os campos todos lidos.


<script type="text/javascript" src="http://www.publicons.de/js/info2.js"></script>
BlackDog
JavaChild
[Avatar]

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.

ignacio83
Java Ninja
[Avatar]

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.

André de Fontana Ignacio
[MSN]
enantiomero
JavaEvangelist

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:

DecimalFormat, SimpleDateFormat - Threading Issues
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team