| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 08:59:50
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Depois de ocorrerem várias exceptions como esta:
Recebi este erro:
Isso ocorreu por causa das exceptions?
|
www.bau-de-dev.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 09:05:56
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Se o null pointer ocorreu devido a estourar o número de conexões com o banco pode até ser. Sem ter o stack trace dessas null pointer exceptions fica difícil adivinhar.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 10:07:46
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
No catalina.out só tem isso mesmo, eu acho que não foi nada em relação ao banco não, porque a conexão eu faço com JDBC puro, então, eu abro e fecho as conexões se não conseguir abrir espero e tento novamente, e outros máquinas com a mesma aplicação também usam o mesmo banco.
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 10:11:43
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Jedi_FeniX wrote:eu acho que não foi nada em relação ao banco não, porque a conexão eu faço com JDBC puro, então, eu abro e fecho as conexões se não conseguir abrir espero e tento novamente
Aham... o problema, obviamente, não é abrir a conexão, e sim fechar. Você fecha tudo direitinho? Usa finally?
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 12:31:41
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Sim, quando o problema era conexão, acabava dando problema nas três máquinas que usavam o banco de dados.
Eu faço requisições sockets será que o problema é isso?
Achei no log que teve várias requisições que receberam "null" como resposta do servidor, será que pode ter sido isso?
Quando é gerada várias exceptions deste tipo o heap da jvm pode ser "consumido"? E com isso gerar falta de memória?
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 12:59:39
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Jedi_FeniX wrote:
Eu faço requisições sockets será que o problema é isso?
Se você usar ObjectInputStream / ObjectOutputStream, por exemplo, você pode ter problemas sérios de "vazamento de memória". Você usa alguma dessas coisas sem usar também o método "reset" ?
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 13:07:09
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Eu uso o "OutputStreamWriter" e o "InputStreamReader".
No meu código a parte que usa estes dois objestos está assim:
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 13:08:36
|
klayrocha
Thread.start()
![[Avatar]](/images/avatar/eb36b44cc442cd77a952d8971524100f.jpg)
Membro desde: 06/04/2009 08:06:39
Mensagens: 42
Offline
|
Could not reserve enough space for object heap
Isso é falta de memória !
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 13:13:59
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
De qualquer maneira, usar sockets é sempre meio complicado, porque os dois lados (cliente e servidor) devem ser cuidadosamente escritos de modo que não fiquem "sockets pendurados" (isso você pode constatar com o netstat).
Pode ser que você precise revisar sua aplicação que usa sockets para usar "TCP No Delay" (setTcpNoDelay), e também "Shutdown" (shutdownOutput, shutdownInput). Você precisa achar um fonte de uma aplicação que use isso direito para poder ver como é que isso é feito.
This message was edited 1 time. Last update was at 06/04/2009 13:14:30
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 13:14:49
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
A configuração do tomcat está assim:
Falta de memória eu sei que foi mas queria tentar entender o porque.
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 13:16:40
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Mesmo matando a conexão do socket a conexão fica presa? E eu estou fazendo requisições socket para um servidor apache.
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 13:23:47
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Jedi_FeniX wrote:Mesmo matando a conexão do socket a conexão fica presa? E eu estou fazendo requisições socket para um servidor apache.
Então... depende. Você precisa ver se está chamando os "shutdownInput/shutdownOutput" adequadamente.
Para chamar um servidor Apache, normalmente (para evitar essas problemáticas de sockets) costuma-se usar uma URLConnection mesmo, que já usa o protocolo http ou https, dependendo de como você fez a configuração da URL.
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/04/2009 14:16:56
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Eu chamo o método close, dos dois objetos, para fechar a conexão.
E em relação a requisição é um HTTP GET normal.
|
www.bau-de-dev.com |
|
|
 |
|
|