【问题标题】:Datasource Connection Pool?数据源连接池?
【发布时间】:2011-07-01 18:47:01
【问题描述】:

据记载,在不同的站点上,数据源维护连接池。是的,我同意它将维护游泳池 如果我们在完成事务后不关闭连接。但通常我们在完成后关闭连接 与交易。所以实际上数据源永远不会有任何连接来维护池。这个对吗? 只有当程序员忘记关闭连接时才会出现这种情况。对吧?

【问题讨论】:

    标签: datasource


    【解决方案1】:

    连接池在一段时间内保持打开的连接,通常在一段时间不活动后关闭它们。忘记关闭连接会阻止它被释放回池中并在以后重用,这就是为什么您应该始终关闭它们。到底是什么问题?

    【讨论】:

    • 我的问题是如果我们关闭连接,它会被移回池中吗?如果是,将关闭的连接移动到池有什么用?我的理解是,当程序员忘记关闭连接时,数据源会在一段时间后自动将打开的连接移动到池中。这是正确的吗?
    • 不,这是不正确的。它永远不会移回池中,并且会导致连接泄漏。如果您关闭连接,那么是的,它会回到池中,这是正确的做法。
    • 嗨 Otavio ,将关闭的连接移动到池有什么好处?
    • 关闭连接会将其移回池中,以便下一个打开请求将重用它(或任何其他可用的)。这就是拥有池的全部意义——不要花时间物理地打开和关闭连接。
    • 您好 Otavio,获取连接并将连接移回池的管理是否由 Datasource 完成(内部由应用服务器处理)?如果我们不使用关闭连接的数据源将物理地关闭连接。对吗?
    【解决方案2】:

    好吧,如果这是 MS .NET,只要连接字符串相同,Web 服务器就会自动将连接池化。即使您“关闭”它们也会发生这种情况,因此非常有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-25
      • 2014-12-20
      • 1970-01-01
      • 2011-04-05
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      相关资源
      最近更新 更多