| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/06/2011 21:49:16
|
Talles Santana
Entusiasta Java
![[Avatar]](/images/avatar/7dd6e3b1e5f9049c821dddb40d9f3a93.png)
Membro desde: 17/12/2008 22:40:03
Mensagens: 21
Offline
|
Boa noite,
estou desenvolvendo uma aplicação utilizando struts na qual o menu exibe uma lista proveniente do banco de dados.
O problema é: a lista não muda, vem de uma tabela que só se realiza consultas.
A solução para seria: a) configurar para que na inicialização do servidor(tomcat 6.0 neste caso)
algum trecho de código seja chamado. b) O referido trecho de código ter visibilidade do escopo da aplicação para executar algo como
application.setAttribute("listaXX", dao.getListaXX())
Ainda encontrei nenhuma forma de fazer isso, porém acredito que isso seja possível( configuração no web.xml talvez).
Alguém sabe como fazer isso ou uma forma de resolver o problema?
Grato desde já,
Talles santana
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/06/2011 00:03:11
|
GabrielCardelli
GUJ Ranger
![[Avatar]](/images/avatar/c692f04c9697bb4b14939a29499e997b.jpg)
Membro desde: 25/10/2008 13:07:31
Mensagens: 823
Localização: Rio de Janeiro
Offline
|
Deixa eu ver se entendi sua duvida.
Você tem um MENU no banco esse menu não muda e quando você inicializa o Servidor você quer por isso em uma variavel para não fazer as chamadas no banco novamente?
Se for isso, você pode utilizar o ContextListener para setar as variáveis
http://www.java2s.com/Tutorial/Java/0400__Servlet/ServletContextListener.htm
abraço.
|
Gabriel Cardelli
http://www.opengti.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/06/2011 06:52:47
|
gomesrod
GUJ Ranger
![[Avatar]](/images/avatar/5de6755473dc988fe6c7db81f26a53ac.jpg)
Membro desde: 11/05/2007 19:46:22
Mensagens: 901
Offline
|
GabrielCardelli wrote:(...) você pode utilizar o ContextListener para setar as variáveis (...)
Essa solução funciona, mas possui uma desvantagem que é tornar mais pesada a inicialização do servidor. Seria mais interessante fazer um lazy loading, ou seja, carregar os dados apenas quando for usar pela primeira vez.
Ou para ser mais chique ainda use um serviço de cache, como este aqui:
http://www.objectzilla.com.br/2009/05/02/ja-usou-memcached/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/06/2011 09:59:31
|
Talles Santana
Entusiasta Java
![[Avatar]](/images/avatar/7dd6e3b1e5f9049c821dddb40d9f3a93.png)
Membro desde: 17/12/2008 22:40:03
Mensagens: 21
Offline
|
Não tem problema tornar pesada a inicialização do servidor. É uma lista de 25 itens, uma consulta simples nada d+
Alguém achou algum material bom falando sobre inserir variáveis de escopo de aplicação(preferencialmente via código)?
Assim eu poderia criar um servlet e que seria carregado ao iniciar o servidor<load-startup> 1.... e ele buscaria a lista e colocaria no
escopo de aplicação.
Ah, Gabriel, valeu pela ajuda já está funcionando. Agora gostaria de refinar a solução se é que essa já não é boa o suficiente =)
|
|
|
 |
|
|