Mysql 如果我从未在连接池(BoneCP)中调用shutdown()方法,有什么不方便的地方吗?

Mysql 如果我从未在连接池(BoneCP)中调用shutdown()方法,有什么不方便的地方吗?,mysql,jdbc,bonecp,Mysql,Jdbc,Bonecp,我正在开发一个WebApp,它可以全天候访问,所以我没有时间说:“最后,我不再使用连接池了,我要关闭它。” 我已经读到(这里是SO:)如果我确定我不再使用连接,我应该使用shutdown方法,但这不是我的情况 那么,如果我不关闭连接池,有什么问题吗?答案是允许连接池管理数据库连接。任何合适的连接池都将提供一些配置选项,使您能够自定义连接保留策略、最小/最大池大小、连接测试/验证等 我查看了您的链接(),建议您在web容器级别将连接池配置为JNDI数据源,而不是在应用程序中。然后,应用程序将通过J

我正在开发一个WebApp,它可以全天候访问,所以我没有时间说:“最后,我不再使用连接池了,我要关闭它。”

我已经读到(这里是SO:)如果我确定我不再使用连接,我应该使用shutdown方法,但这不是我的情况


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

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

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

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

您在哪里读到这篇文章?@MaVRoSCy自问“连接池使用完毕了吗?”。答案应该是显而易见的…@Markrotterveel,答案是显而易见的(我还没有完全接受它)。但让连接池始终打开不是一种坏做法吗?您应该在应用程序(或服务器)退出时将其关闭。连接池本身确保在必要时回收陈旧/旧/断开的连接。除此之外,它不会腐烂什么的。