[Tutorial] Auto close com BD (JAVA)


Laravel 8 em Pessoa
 Share

Recommended Posts

Muito de vocês que estão aprendendo a mexer com java principalmente com a Bukkit API, costumam usar o sql para conectar no banco de dados e não o fecham porque nos vídeos não costumam explicar, portanto estou fazendo este tópico de como fazer um autoclose.

 

Exemplo de seleccionar todos os valores com auto close

Por favor, registre-se ou entre para visualizar isso.

Ao colocar entre "()" vai fazer um auto close.

Aconselho também a fazer as conexões em async (dependendo sempre do caso)

Share this post


Link to post
Share on other sites

Bom tópico, mas até agora não entendi qual dos "()" fecha a conexão, além disso seria ótimo explicar como fecha a conexão manualmente também, fora isso muito bom!

Edited by Striker

Share this post


Link to post
Share on other sites

Em 12/01/2022 em 08:44, Jhonatas48 disse:

bom já utilizei esse método e já apresentou problemas então utilizo de uma forma diferente eu fecho a conexão manual

Fazer manual nunca é bom, o auto close tem uma série de sequências pra caso der erro ele fechar. Se tiver fechando manual e não tratar igual o auto-close trata a conexão simplesmente vai continuar aberta consumindo recursos da máquina.

@Topic
Outro ponto importante é que o autoclose não é somente para conexões para banco de dados, mas sim para qualquer coisa que implemente o Closeable, como os Readers, Writters etc. 

Share this post


Link to post
Share on other sites

12 horas atrás, SrBlecaute disse:

Fazer manual nunca é bom, o auto close tem uma série de sequências pra caso der erro ele fechar. Se tiver fechando manual e não tratar igual o auto-close trata a conexão simplesmente vai continuar aberta consumindo recursos da máquina.

@Topic
Outro ponto importante é que o autoclose não é somente para conexões para banco de dados, mas sim para qualquer coisa que implemente o Closeable, como os Readers, Writters etc. 

Já vai ser tratado a exceção.E a conexão só não é fechada se for inexistente.

Mas sempre utilizo um método próprio para fechar conexão que faz várias checagem antes de fechar a conexão.

Já vi vários plugins dando erro na conexão do banco de dados por usar o exemplo citado por vocês

Share this post


Link to post
Share on other sites

1 hora atrás, Jhonatas48 disse:

Já vai ser tratado a exceção.E a conexão só não é fechada se for inexistente.

Mas sempre utilizo um método próprio para fechar conexão que faz várias checagem antes de fechar a conexão.

Já vi vários plugins dando erro na conexão do banco de dados por usar o exemplo citado por vocês

De certeza que não foi por isso 🤪

Share this post


Link to post
Share on other sites

Em 14/01/2022 em 09:54, 1109 disse:

De certeza que não foi por isso 🤪

Cara igual disse não falei que a forma que ele fez está errado e muito menos estou criticando ele Se nunca aconteceu de um plugin fazer isso com você ótimo mas tive vários problemas de vários de desenvolvedores de plugin apresentar erro na conexão com o teu catch e até atingindo o limite de conexão do banco de dados.

Enfim cada um utiliza do jeito que quiser.

Share this post


Link to post
Share on other sites

41 minutos atrás, Jhonatas48 disse:

Cara igual disse não falei que a forma que ele fez está errado e muito menos estou criticando ele Se nunca aconteceu de um plugin fazer isso com você ótimo mas tive vários problemas de vários de desenvolvedores de plugin apresentar erro na conexão com o teu catch e até atingindo o limite de conexão do banco de dados.

Enfim cada um utiliza do jeito que quiser.

volto a  dizer

De certeza que não foi por isso 🤪

Share this post


Link to post
Share on other sites

5 horas atrás, Jhonatas48 disse:

Cara se você acha que sabe muito esperto.Então me dá um exemplo então e me de algo concreto em vez de só teoria

Apenas você  ta dizendo algo estúpido e não aceita. Tome seu exemplo: Por favor, registre-se ou entre para visualizar isso.

Share this post


Link to post
Share on other sites

20 horas atrás, 1109 disse:

Apenas você  ta dizendo algo estúpido e não aceita. Tome seu exemplo: Por favor, registre-se ou entre para visualizar isso.

Deixa te perguntar nao me entenda como ignorante ou algo assim.Mas você já desenvolveu algum plugin ou algum sistema em Java para usar banco de dados com várias conexões simultâneas com isso?

Se sim pode me falar como fez e o que fez ?

 

Em nenhuma das minhas respostas não estou aceitando estou criticando a sua opinião de ficar menosprezando as pessoas 

Share this post


Link to post
Share on other sites

Olá, eu fiquei um pouco curioso com oque vocês estão falando, e estou desenvolvendo alguns plugins e gostaria de otimiza-los, percebi que vocês podem me ajudar...

 image.png.eb86e41e109a0469357847e6e17df3f3.png

 

Aqui eu abro uma conexão sqlite e só fecho ela na hora de desliga o servidor, 

image.png.3373be6292e89f86404d124bb3cbadc3.png

 

aqui meu método de fechar a conexão (só realizo quando desligo o plugin).

E todos os dados do banco de dados eu coloco num cache e trato como objeto, apenas na hora de desligar o plugin eu realizo o save no sqlite, que é esse método aqui

image.png.740b9fc7a8b91404bd856950a17ae909.png

 

oque eu gostaria de saber é se, oque vocês tão dizendo é que, se eu não realizar o ultimo STM.CLOSE(); poderá causar um lag ao servidor, ou eu posso deixar dessa forma? (TRATO COMO O OBJETO E SALVO QUANDO O PLUGIN TÁ DESLIGANDO PARA EVITAR FICAR FAZENDO VARIOS PEDIDOS AO BANCO DE DADOS), desde já agradeço a todos pela discussão e qualquer ajudaria cairia bem. 

Share this post


Link to post
Share on other sites

Em 17/01/2022 em 16:01, NSG disse:

Olá, eu fiquei um pouco curioso com oque vocês estão falando, e estou desenvolvendo alguns plugins e gostaria de otimiza-los, percebi que vocês podem me ajudar...

 Por favor, registre-se ou entre para visualizar isso.

 

Aqui eu abro uma conexão sqlite e só fecho ela na hora de desliga o servidor, 

Por favor, registre-se ou entre para visualizar isso.

 

aqui meu método de fechar a conexão (só realizo quando desligo o plugin).

E todos os dados do banco de dados eu coloco num cache e trato como objeto, apenas na hora de desligar o plugin eu realizo o save no sqlite, que é esse método aqui

Por favor, registre-se ou entre para visualizar isso.

 

oque eu gostaria de saber é se, oque vocês tão dizendo é que, se eu não realizar o ultimo STM.CLOSE(); poderá causar um lag ao servidor, ou eu posso deixar dessa forma? (TRATO COMO O OBJETO E SALVO QUANDO O PLUGIN TÁ DESLIGANDO PARA EVITAR FICAR FAZENDO VARIOS PEDIDOS AO BANCO DE DADOS), desde já agradeço a todos pela discussão e qualquer ajudaria cairia bem. 

Bom eu já fiz diversos plugins uma coisa vou te dar certeza se não fechar a conexão depois que não vai usar mais se não fechar ela poderá estourar o limite do banco de dados e impedir de novas consultas,inserções ,updates e deleção ocorra.

Pois e isso é em todo sistema de abrir uma conexão depois de usar tem de fechar

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.