TOMCAT desestabilizado?

Boa tarde,
acredito que o tomcat esteja desestabilizado, pois frequentemente acontece de o usuário deslogar da aplicação no meio de uma inserção de arquivos, por exemplo.
ou quando a exibição da tabela puxa uma grande quantidade de informações.
ouvi algo a respeito de pool de conexões.

alguem pod me da uma luz? do que fazer?

obrigado desde já.

Tenta olhar no log do tomcat para ver as exceções que ocorreram e trate todas…

Conexões com o banco abertas e ou poucas conexoes podem derrubar a aplicação sim.
Se vc tem muitos processos esperando a conexao com o banco, eles vao se acumulando e ocupando cada vez mais memoria do servidor , até derrubar…

Há alguns softwares para fazer o monitoramento, como o jconsole, probe, rhq,…

sobre o pool de conexoes podes tentar utilizar o proxool http://proxool.sourceforge.net/ ou o c3p0.

:roll:

É claro que não!!!
Não culpe o container por bugs da sua aplicação.
kkkkkkkkkkkkkkkkkk

Use o depurador…

rsrs. não sei nem o que é container.

Sou iniciante, e fui postando o que veio na cabeça por ser o possivel problema.

o erro só acontece em produção. localmente não acontece.

acredito que possa ser varias conexões abertas na hora de efetuar a consulta. e depois nao fecha-las.

não fui eu quem fiz, cheguei depois de estar feito.

valeu a todos. vou tentar ver hoje o que acontece. e posto aqui novamente

[quote]Sou iniciante, e fui postando o que veio na cabeça por ser o possivel problema.

o erro só acontece em produção. localmente não acontece. [/quote]
Normal amigo…ambiente de desenvolvimento sempre funciona né…kkkk
Ambiente de produção é outra historia…

[quote]Sou iniciante, e fui postando o que veio na cabeça por ser o possivel problema.
[/quote]
Então me desculpa mas vc ta equivocado…não é problema de tomcat não…uso tomcat ha 10 anos…e minha ultima aplicação roda com 10 cliente habilitados…a coisa funciona linda e maravilhosamente bem…

[quote]não fui eu quem fiz, cheguei depois de estar feito.
valeu a todos. vou tentar ver hoje o que acontece. e posto aqui novamente[/quote]
Complicado amigo…não sei como vc vai dar manutenção em algo que vc não tem condições…aconselho vc a contratar uma consultoria mais perto de vc.

a única coisa que restou, acho que os métodos de consulta ao banco estão com erro, repare nesse:

[code]
public String GetFile(int idDocumento, String ip)
{
conexao.AbreConexao();

        String file = "";  
  
        try  
        {  
            String query = "SELECT nomeDocumento FROM tabelaDocumento WHERE idDocumento = " + idDocumento;  
  
            rs = conexao.stmt.executeQuery(query);  
  
            if(rs.next())  
            {  
                file = rs.getString(1);  
            }  
        }  
        catch(Exception e)  
        {  
           //tratamento  
        }  
  
          
        return file;  
    }  [/code]

repare que nao fecha a conexão. somente abre.

Acredito que seja isso, estou certo/?

Sim…é um bug classico de iniciantes…
Mas veja q é pool…vc não abre conexão…vc RESERVA!
Depois tem LIBERAR.

imaginei mesmo.

como assim, liberar? sou chato neh? hahaha.

mas acho que a aplicação não está utilizando pool não.

[quote=EduFranzoni]imaginei mesmo.

como assim, liberar? sou chato neh? hahaha. [/quote]

Veja o método que abre conexão…
Ta abrindo ou consumindo de um Pool?

public void AbreConexao()
    {
	try
	{
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
	}
	catch (Exception e)
	{
            e.printStackTrace();
	}

	try
        {
            /*** CONEXAO DATABASE ***/
            con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ReadXML.pathDatabase + "/" + ReadXML.nomeDatabase, ReadXML.userDatabase, ReadXML.passDatabase);
            stmt = this.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
            
        }
        catch(SQLException e)
        {
            System.err.println("SQLException: " + e.getMessage());
        }
    }

abrindo?

Sim…
2 coisas erradas:

  1. ta abrindo na unha
  2. e não esta fechando.
    É impossível colocar uma aplicação em produção assim meu querido…
    Um SGDB tem um limite X de conexões simultâneas…uma hora abre a as pernas…

Certo. vou editar e fechar todas as conexões. que são abertas, nos métodos de consulta ao bd. como por exemplo o que eu postei aqui.

depois vou aprender pool direitinho e aplicar!

obrigado pela ajuda meu velho. obg msmo!