如果关闭JVM,SQL连接会自动关闭吗?

问题描述 投票:5回答:3

我创建了一个测试程序,该程序创建了20个线程,然后这些线程将打开许多sql连接。假设您正在从eclipse执行此程序,现在要关闭eclipse。这会关闭所有打开的sql连接吗?如果没有,那么这些会发生什么?它会在数据库侧显示100个打开的连接吗?如果是,那么在这种情况下该怎么办?

java jvm database-connection
3个回答
8
投票
在Oracle中,如果您具有足够的特权,则可以直接终止数据库中的会话。

我想,行为是特定于供应商和/或特定于配置的。没有一般性答案。


0
投票

在包裹数据库连接会话的finally块中执行。

    以防万一,编写finalize()方法并在此关闭连接。当出现问题时,它将有助于关闭连接,并且在关闭连接之前将对连接到DB的对象进行垃圾回收。
  1. 您可以创建关闭挂钩,当进程关闭时,JVM将自动调用该挂钩。在大多数情况下,这是有用的,当您从外部杀死JVM(Unix中的kill -9除外)
  • BTW我相信,在您的情况下,您不需要与数据库的许多连接。尝试重用所有100个线程中的一个。

  • 0
    投票
    © www.soinside.com 2019 - 2024. All rights reserved.