Gå til innhold

JDBC avslutter ikke tilkoblingen mot MySQL korrekt


Anbefalte innlegg

Hei.

 

Noen som har vært borti samme problemet? I tillegg er det en bug i MySQL som øker Aborted_connections med to per tilkobling som blir avbrutt.

 

Men ihvertfall ... Noen som vet om det er mulig å få tilkoblingen til å stenges når vaskehjelpen (garbage collector) kommer?

Lenke til kommentar
Videoannonse
Annonse
Hei.

 

Noen som har vært borti samme problemet? I tillegg er det en bug i MySQL som øker Aborted_connections med to per tilkobling som blir avbrutt.

 

Men ihvertfall ... Noen som vet om det er mulig å få tilkoblingen til å stenges når vaskehjelpen (garbage collector) kommer?

9066094[/snapback]

 

Kan du ikke stenge dem selv i koden ?

Lenke til kommentar
The obvious answer, selvsagt ... For å spesifisere mer nøyaktig, er det slik at hvis jeg kjører System.exit(42) så avsluttes tilkoblingen korrekt av garbage collectoren?

9066979[/snapback]

 

Hvis du bruker System.exit(n) så avslutter du jo jvm'n. Er det ikke bare connection du skal avslutte ?

Da kan du i så fall bruke Connection sin close ().

 

Utdrag fra java api:

 

close

void close()

throws SQLExceptionReleases this Connection object's database and JDBC resources immediately instead of waiting for them to be automatically released.

Calling the method close on a Connection object that is already closed is a no-op.

 

Note: A Connection object is automatically closed when it is garbage collected. Certain fatal errors also close a Connection object.

 

 

Throws:

SQLException - if a database access error occurs

Lenke til kommentar

Ja, selvsagt kan jeg bruke close(), og det gjør jeg nå, og jeg har også lest at garbage collectoren skal close den automatisk, men det er ikke min erfaring av den per nå.

 

Nå har jeg dog gjort alt jeg kan for å få den closed, men jeg vil bare sørge for at det ikke skjer noe særtilfeller.

Lenke til kommentar
Ja, selvsagt kan jeg bruke close(), og det gjør jeg nå, og jeg har også lest at garbage collectoren skal close den automatisk, men det er ikke min erfaring av den per nå.

 

Nå har jeg dog gjort alt jeg kan for å få den closed, men jeg vil bare sørge for at det ikke skjer noe særtilfeller.

9067067[/snapback]

 

Okei. Man kan jo ikke force garbage collection. Blir bare en request når du kjører System.gc() eller Runtime.getRuntime().gc().

Hvis du har kontroll over databasen du bruker, så kan kanskje endre noen innstillinger i connection poolinga?

Lenke til kommentar

Foreløpig starter jeg en connection som varer helt til windowClosed() blir avfyrt, da closer jeg den. Kan det føre til en timeout som ødelegger connection-en uskikkelig? Ja, jeg har root-tilgang til MySQL-databasen.

Lenke til kommentar
Foreløpig starter jeg en connection som varer helt til windowClosed() blir avfyrt, da closer jeg den. Kan det føre til en timeout som ødelegger connection-en uskikkelig? Ja, jeg har root-tilgang til MySQL-databasen.

9067191[/snapback]

 

Nå kjenner jeg ikke til windowClosed(), men du kan jo prøve debugge å se om con.close() faktisk blir kjørt og ikke kaster exception. Bare sånn for å være helt sikker.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...