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

就像这样:

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

 

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

是可以的哦~

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

 

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

 

 

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

 

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

相关文章:

  • 2021-08-10
  • 2022-01-16
  • 2022-01-05
  • 2021-07-25
  • 2021-06-10
  • 2021-09-28
猜你喜欢
  • 2022-12-23
  • 2021-05-24
  • 2022-12-23
  • 2021-11-09
  • 2021-10-14
  • 2021-06-12
  • 2021-07-09
相关资源
相似解决方案