Skip to content
  • Categorias
  • Recente
  • Tags
  • Popular
Collapse
Brand Logo

  1. Fórum Maker
  2. Categorias
  3. Maker
  4. Gerenciamento de conexões de banco

Gerenciamento de conexões de banco

Agendado Fixado Trancado Movido Maker
2 Posts 2 Posters 682 Visualizações
  • Mais Antigo para Mais Recente
  • Mais Recente para Mais Antigo
  • Mais Votados
Responder
  • Responder como tópico
Entre para responder
Este tópico foi deletado. Apenas usuários com privilégios de moderação de tópico podem vê-lo.
  • T Offline
    T Offline
    t.nunes
    escreveu em última edição por
    #1

    Pessoal,

    Alguém ja teve problema com o gerenciamento de conexões no maker (utilizando um pool de conexões)?
    Após atualizar para o Maker 5 notei que a aplicação tem aberto mais conexões que o necessário, bem como uma grande quantidade de cursores.

    Avaliando o código da função "Abrir Consulta" observei que o ResultSet, o PreparedStatement e a Connection não são fechadas explicitamente. Aparentemente o ResultSet é adicionado em uma lista ("openedResultSetList") para tratativas futuras.

    52bf71c1-9b91-49af-b514-6027fc54e51d-image.png

    Alguém sabe dizer quais seriam essas tratativas em cima desse objeto "openedResultSetList"?
    Se os objetos de apoio são devidamente fechados? E se talvez essa não seria uma possível causa do consumo desnecessário dos recursos de banco?

    1 Resposta Última resposta
    0
    • Fabrício SantanaF Offline
      Fabrício SantanaF Offline
      Fabrício Santana
      escreveu em última edição por
      #2

      Boa tarde Nunes

      Quando se utiliza um pool de conexões no Maker 5 e ocorre consumo excessivo de conexões e cursores no banco de dados, é fundamental compreender como a plataforma gerencia esses recursos internamente para mitigar problemas. O Maker, por meio do mecanismo openedResultSetList, controla instâncias abertas de ResultSet, gerenciando a abertura e o fechamento desses recursos de forma explícita. Contudo, se os recursos não forem liberados corretamente, podem ocorrer vazamentos que impactam diretamente o desempenho da aplicação e do banco.

      Para evitar tais problemas, é essencial garantir o fechamento de Connection, PreparedStatement e ResultSet logo após seu uso. Caso o Maker não faça isso automaticamente ou de forma eficiente, pode ser necessário implementar lógicas que assegurem o fechamento manual desses recursos. Além disso, recomenda-se a revisão de logs e métricas do banco de dados para identificar possíveis vazamentos, bem como o uso de ferramentas de monitoramento que ajudem a detectar conexões não encerradas ou cursores excessivamente utilizados.

      A configuração adequada do pool de conexões também desempenha um papel crucial na gestão eficiente de recursos. Parâmetros como o número máximo de conexões permitidas (maxConnections), tempo de espera (timeout) e período de inatividade (idleTime) devem ser revisados para atender às demandas da aplicação sem sobrecarregar o banco de dados. Além disso, ao realizar atualizações para o Maker 5, é importante revisar fluxos e scripts existentes para garantir que não dependam de práticas obsoletas ou comportamentos que possam ter sido alterados na nova versão.

      Por fim, a adoção de boas práticas, como o uso de blocos try-with-resources ou estruturas equivalentes, assegura o fechamento automático de recursos. O monitoramento constante do ciclo de vida das operações de banco de dados, com logs detalhados e métricas específicas, é igualmente essencial para evitar problemas recorrentes e otimizar o uso de conexões e cursores no Maker 5.

      1 Resposta Última resposta
      0
      Responder
      • Responder como tópico
      Entre para responder
      • Mais Antigo para Mais Recente
      • Mais Recente para Mais Antigo
      • Mais Votados


      • Login

      • Não tem uma conta? Cadastrar

      • Login or register to search.
      • Primeiro post
        Último post
      0
      • Categorias
      • Recente
      • Tags
      • Popular