首页 > 编程语言 > 详细

java——通过GenericObjectPool获取到的资源,调用close()方法会close还是returnObject?

时间:2019-09-26 18:29:43      阅读:197      评论:0      收藏:0      [点我收藏+]

一种优雅的关闭资源的方式是使用try(){}cache(){}

就像这样:

技术分享图片

 

 这时候,try()里面的资源会在return语句执行结束之后自动调用close()方法,那么问题来了,当我们使用连接池的时候,并不希望资源被close,而是希望资源用完后自动returnObject(),那么这种优雅的try语句是不是不能使用了呢?

是可以的哦~

技术分享图片

 

技术分享图片

 

 

 技术分享图片

 

 从上面可以看出,实际上pool对放进去的连接有了额外的一层封装,实际上是通过动态代理的方式创建连接,而这些连接的close()方法被重新定义了,在调用close方法时候实际上是调用了returnObject()方法~

java——通过GenericObjectPool获取到的资源,调用close()方法会close还是returnObject?

原文:https://www.cnblogs.com/gaoquanquan/p/11593333.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!