【问题标题】:Is there any inconvenient if I never call shutdown() method in the connection pool (BoneCP)?如果我从不调用连接池(BoneCP)中的 shutdown() 方法,会不会有什么不便?
【发布时间】:2013-07-21 11:58:42
【问题描述】:

我正在开发一个 WebApp,它可以 24/7 全天候访问,所以我真的没有一刻可以说:“我终于不再使用连接池了,我要关闭了下来”。

我已阅读(此处为:BoneCP correct usage),如果我确定不再使用连接,我应该使用关闭方法,但这不是我的情况。

那么,如果我不关闭池会有什么问题吗?

【问题讨论】:

  • 你在哪里读到的?
  • 问问自己“你是否完全完成了连接池?”。答案应该是显而易见的......
  • @MarkRotteveel,答案很明显(我还没有完全完成)。但是让连接池始终打开不是一个坏习惯吗?
  • 您应该在应用程序(或服务器)退出时将其关闭。连接池本身确保在必要时回收陈旧/旧/损坏的连接。除此之外它不会腐烂或其他任何东西。

标签: mysql jdbc bonecp


【解决方案1】:

答案是允许连接池管理数据库连接。任何体面的连接池都会提供一些配置选项,使您能够自定义连接保留策略、最小/最大池大小、连接测试/验证等。 .

我查看了您的链接 (BoneCP correct usage),建议您将 Web 容器级别的连接池配置为 JNDI 数据源,而不是在您的应用程序中。然后,您的应用程序将通过 JNDI 访问连接池。这种方法有很多好处。这里有几个:

1) 您的应用不知道也不关心它是使用连接池还是常规 jdbc 连接。后者在开发测试期间很有帮助,因为启动时间更快并且内存使用量更小。 2) 您的应用不需要数据库连接详细信息(例如 jdbc url、用户名和密码)。允许您对所有部署使用通用 WAR 文件。 3) 无需重新构建和重新部署应用程序即可完成池的配置和调整。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多