连接池澄清

时间:2012-03-06 17:41:44

标签: jdbc connection-pooling

我正在使用具有以下值的连接池:

最小连接数= 1,清除策略=整个池,年龄超时= 0。

我有以下疑问:

  1. 如果我有5个连接并且要清除连接,那么它们中的所有5个都将被清除,或者仍然保持1个连接(因为最小连接设置为1)?
  2. 如果要保持最小连接,那么将选择哪个连接,即将使用最新,最旧或任何其他连接?
  3. 有没有什么办法可以在逻辑上将连接显式地返回到池中(例如使用connection.close()或类似语句之类的语句)?
  4. 有没有办法找出我正在使用的连接池的类型?

1 个答案:

答案 0 :(得分:1)

  1. 清除政策通常与陈旧连接有关。 “清洗池”意味着什么时候 检测到断开的连接,清除池,而不仅仅是损坏的池 connnection。如果要清除所有连接,它将清空池,然后创建一个新连接。任何等待连接的人都会阻塞,直到在池中创建连接为止。
  2. 堆栈溢出中没有人可能会回答这个问题 问题......但这真的很重要吗?你为什么要这样做? “知道”这个?
  3. 是的,通过返回来结束当前的交易 你的方法,让它提交或回滚。如果您正在使用XA (全球)交易,你必须完成全球 事务。
  4. 定义“类型”?我们有什么选择?
  5. 编辑4: 如果你在一个应用程序容器中(听起来像你),你就不能定义一个“类型”。容器提供了自己的实现。例如,IBM Websphere提供了IBM专有的IBM池实现。 (它也恰好吮吸)