| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/06/2006 10:05:13
|
rodrigozim
Thread.start()
Membro desde: 08/06/2006 09:56:20
Mensagens: 44
Offline
|
Amigos, estou com um problema que não estou conseguindo resolver.. e já faz um bom tempo: vamos la:
eu uso o JBoss 3.2.5 como servidor, J2ee 1.3, EJB, BMP, e DAO para fazer o sql. quando eu starto o servidor pela primeira vez, faço uma consulta no banco, pela tela do sistema (tela do usuario) ele me traz os dados corretos, quando eu insiro alguns dados novos (ele usa outro EJB e DAO para fazer isso), quando eu vou la fazer outra consulta ele não me traz atualizado, e depois de um tempo (aproximadamente 30min), ele me traz tudo bagunçado, fora de ordem por exemplo: alguns valores mensais, Janeiro é 1000, Fevereiro eh 2000, Março é 3000, depois desse tempo ele traz Janeiro é 3000, Fevereiro eh 1000, Março é 2000, nem sempre na mesma ordem. e não traz o valor atualizado.
se eu fizer o select na mão direto no BD (mysql) ele me traz correto, inclusive os novos dados inseridos anteriormente,
um amigo aqui do fórum me disse que talvez tenha uma estratégia de cache ai no meio, mas se tiver eu não to sabendo gerenciar, se for uma configuração padrão não estou conseguinido nem achá-la. vou postar as duas classes aqui, o BMP (gerado pelo xdoclet) e o DAO,
valeu
Rodrigo
DAO
|
Rodrigo Zimmermann |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/06/2006 10:15:33
|
Daniel Quirino Oliveira
Moderador
![[Avatar]](/images/avatar/846c260d715e5b854ffad5f70a516c88.png)
Membro desde: 23/03/2003 23:57:34
Mensagens: 3299
Localização: Awawawawa (Araraquara) - SP
Offline
|
Hmmm...
Só por curiosidade, tente remover a cláusula "GROUP BY" do comando SQL do método findByAno. Isso pode estar embaralhando tudo.
Uma outra dica, que nada tem a ver com seu problema, mas ajuda muito a tornar o código mais legível. extraia os comandos SQLs para alguma constante na sua classe DAO. Algo como:
|
Daniel Quirino Oliveira |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/06/2006 10:28:45
|
rodrigozim
Thread.start()
Membro desde: 08/06/2006 09:56:20
Mensagens: 44
Offline
|
vou testar, essa dica, agora olha só que estranho, coloquei uns System.out la no DAO pra ver o que ele traz do banco, enquanto nao passar uns 30 min do servidor "startado" ou se eu não reiniciar ele, ele nem acessa mais o DAO, parece que tem algo no cache mesmo, pois não apareceu os System.out de lá, agora vou esperar esse tempo pra ver se o "group by" ta fazendo a diferença...
|
Rodrigo Zimmermann |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/06/2006 10:50:13
|
rodrigozim
Thread.start()
Membro desde: 08/06/2006 09:56:20
Mensagens: 44
Offline
|
Olha só galera, eu tirei o group by conforme o Daniel sugeriu, e depois e 30 min. ele voltou acessar o EJB+DAO e agora ele repete o valor de fevereiro em janeiro, mas pelo menos os outros meses vieram corretos...ou seja. ainda tá se perdendo em alguma coisa no sql
|
Rodrigo Zimmermann |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/06/2006 10:55:49
|
rodrigozim
Thread.start()
Membro desde: 08/06/2006 09:56:20
Mensagens: 44
Offline
|
amigos, o problema não é mais no DAO... quando eu seto esses valores numa classe pública para o Action jogar no relatório é que está trazendo valores errados...
|
Rodrigo Zimmermann |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/06/2006 11:21:56
|
rodrigozim
Thread.start()
Membro desde: 08/06/2006 09:56:20
Mensagens: 44
Offline
|
cheguei a conclusão que tenho que forçar sempre a executar o findByAno e o load como se fosse a primeira vez!!
sugestões?
|
Rodrigo Zimmermann |
|
|
 |
|
|
|
|