【问题标题】:How long to hold a JDBC Connection?保持 JDBC 连接多长时间?
【发布时间】:2015-08-09 07:56:27
【问题描述】:

在我们的应用程序中,我们为每个模块配置了单独的连接池。一个模块需要使用一些PreparedStatement 才能经常重用。为了这个需要,我想永远保持连接,这样我就不需要创建新的PreparedStatement。这样保持连接安全吗?

【问题讨论】:

  • 完成后立即关闭它,其他一切都是您的代码不必要的复杂化,除非您已经证明这是一个真正的性能瓶颈。

标签: java mysql jdbc


【解决方案1】:

您可能应该考虑使用连接池实现——如 UCP(Oracle)、bonecp、dbcp、cp030 等。这个池池将维护连接管理,您不必担心。

【讨论】:

  • cp030 正在使用中。我不想在执行 PreparedStatement 后关闭连接。通过这种方式,我可以保留和重用 PreparedStatement
  • 因此,连接一直被重用——如果您使用的是 spring,那么框架将处理连接借用/返回。或者,如果您直接编码以借用连接,则必须将其返回到池中,以便保留您的连接。
【解决方案2】:

连接池通常将连接对象保存很长时间(可能是几个月)。这并没有错。

【讨论】:

    猜你喜欢
    • 2021-05-11
    • 2023-03-16
    • 1970-01-01
    • 2012-03-25
    • 2019-05-17
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 2012-12-21
    相关资源
    最近更新 更多