进程被kill后,占用的数据库连接会释放吗?长时间不清理会造成连接池泄漏吗?

Raines 2009-05-04 09:56:51
程序是每隔一段时间自动建立数据库连接,操作结束后会释放,但是中途被kill掉的话呢?会立即释放连接吗?或者延迟释放?担心会造成资源泄漏。
...全文
1115 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Raines 2009-05-06
  • 打赏
  • 举报
回复
我也感觉是应该释放,可是总看见oracle的进程中还有好几个连接,可能是延迟了吧。
ben0759 2009-05-05
  • 打赏
  • 举报
回复
这个问题。还真的是不懂。
Johnson_Hong 2009-05-05
  • 打赏
  • 举报
回复
不知道你说的kill掉指把整个程序进程kill了吗?如果是这样为什么还担心连接泄漏?这样应该是会延迟释放的,具体和数据库的机制有关。

楼主说的情况似乎不是把整个程序给kill了吧,主程序仍在后台执行任务调度
xiaozejun 2009-05-05
  • 打赏
  • 举报
回复
在你的进程被kill掉后,默认的情况下,会释放资源!当然如果你在服务里面进行了设置的话,那么就会按照你的服务的设置是否立即释放资源
luallen 2009-05-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 java2000_net 的回复:]
中途被kill掉的话呢?
你用linux的命令行 kill掉? 那当然会释放资源了。进程都没有了,数据库当然认为链接已经终止了,与连接有关的资源会被数据库系统回收再利用。
[/Quote]

正解
老紫竹 2009-05-05
  • 打赏
  • 举报
回复
中途被kill掉的话呢?
你用linux的命令行 kill掉? 那当然会释放资源了。进程都没有了,数据库当然认为链接已经终止了,与连接有关的资源会被数据库系统回收再利用。
jinxfei 2009-05-04
  • 打赏
  • 举报
回复
楼上各位,进程被kill掉当然会回收所有的资源。
这是操作系统完成的,已经不是java的内存回收机制了。
ouyangqinxin 2009-05-04
  • 打赏
  • 举报
回复
要手动调用close(),在这个基础上运用事务机制的话,释放不会太延迟!
Johnson_Hong 2009-05-04
  • 打赏
  • 举报
回复
如果你使用的连接池没有回收连接的功能,是不会释放的
zabaglione 2009-05-04
  • 打赏
  • 举报
回复
不会立即释放的。
而且这种连接对象connection的释放一般要自己来调用close方法的

java的垃圾收集器只负责那些用new关键字生成
的对象

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧