Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Will the sql connections automatically get closed if we close the JVM?

I created a test program which creates 20 threads and then these threads will open many sql connection. Lets say you are executing this program from eclipse and now if you will close eclipse. Will this close all opened sql connections? If not then what will happen to these? Will it show 100 opened connections on database side? If yes then what to do in this case?

like image 351
Rakesh Juyal Avatar asked Dec 23 '10 06:12

Rakesh Juyal


1 Answers

The connections won't close as in calling java.sql.Connection.close(). Basically, the JVM that opened the connection can not keep the TCP/IP connections to the database alive. These will be shut down immediately. Hence, the "connection" will be shut down as well. The database, however, may not react immediately to this and keep its sessions alive for a while.

In Oracle, you can kill the sessions in the database directly, if you have sufficient privileges.

I guess, the behaviour is vendor-specific and/or configuration-specific. There is no general answer.

like image 59
Lukas Eder Avatar answered Nov 03 '22 13:11

Lukas Eder