测试环境:redhat,oracle 11.2.0.3.0java
测试目标:当java进程关闭以后,进程的数据库链接会不会被释放,什么时候被释放数据库
实验证实:在运行topology前,执行 select count(*) from v$session;session
获得的链接数是29oracle
而在运行topology以后,执行命令获得的链接数开始时33,以后变成31ide
在我kill掉topology以后(不管是经过UI界面kill,仍是经过命令行kill),获得的数据库链接个数是29,和最开始保持了一致测试
网友认为:命令行
1.Depends on how to make and close connection on client side, connection pooling has its own way to close connection.进程
2.Connection.Close() 并不关闭数据库链接, 而是把链接放回链接池。Connection.ClearPool() 或者Connection.ClearAllPool() 方法清除链接池。或者,在链接字符串中把pooling设置为false 关闭链接池。字符串