大家都觉得使用连接池可以使连接更好的控制,于是乎简单的配置了一下连接池就行了,只要能连接到数据库就觉得什么都ok了.其实不然,如果不正确的配置一下连接池,那将得不偿失!原因是:连接池的确会减少每次连接数据库对系统带来的开销,因为连接池中会存在一些可用的连接,程序使用的时候直接来这里取就行了,连接池中的连接一般情况下是不会被关闭的,这点就是问题的所在!这么多的没关闭连接会直接耗掉数据库所能提供的连接数!这和直接使用程序去连接而忘了关闭连接是一样的效果!甚至更为严重(因为连接池中的连接会不停的被发sql去test而不会过时,程序中的连接会超时)!
所以以后使用连接池时,一定要记得配置超时选项,而不是简单的配置一下最大数和最小数就行了.大多数连接池都有一个配置池中超时连接的选项,比如dpcp的maxWait,proxool的maximum-connection-lifetime,jboss自带连接池的IdleTimeoutMinutes等,但是它们默认都是0过-1L!也就是说,默认情况下,连接池中的连接是不会超时的!这点很重要:池中的连接永远保持着与数据库的连接!!当使用完这些连接后如果再有其它外来连接想使用数据库的话,数据库就再没有可用的连接可以提供了!
所以在配置连接池的时候一定要记得把这些超时选项配置好,不然,使用连接池将得不偿失.
(或许大家都已经配置好了,呵呵 自己记录一下,方便后面查看)
分享到:
相关推荐
只有在必须确保非托管资源被释放,且不能使用IDisposable时,才应考虑使用析构函数。 - **Dispose模式**:对于包含多个IDisposable成员的类,可以使用"Disposable Pattern"来简化资源的释放。这通常涉及实现一个...
在Java编程中,数据库操作是不可或缺的一部分,尤其是在开发企业级应用时。为了高效地与不同类型的数据库进行交互,开发者通常会创建一个通用的数据库访问类(Database Access Layer,DAL),以便在不同场景下复用...
6. 机器不使用时,不应处于拆卸状态,以防未经授权的人员接触内部零件而发生事故。 7. 维修时,避免过量注入墨粉、显影剂和墨水,并防止这些化学品进入眼睛。 8. 注意机器内部的尖锐边缘,以免割伤手指。 9. 不要将...
不过,使用这些方法需要更小心,以避免死锁和不正确的唤醒。 5. **线程池**: 考虑到性能和资源管理,可以使用`ExecutorService`创建线程池来管理和调度生产者和消费者线程。线程池可以重用预创建的线程,减少线程...
话单池的一个备份指针Pool_head_1和中继计次表的头指针重合,影响到第一个中继计次表的计费。 思考与启示: 随机值的背后往往隐藏着指针问题,两块内存缓冲区的交界处比较容易出现问题,在编程时是应该注意的地方...
- **注意事项**:由于Timer0的操作是在中断级别进行的,因此在使用时需格外小心,不当使用可能会导致系统效率下降甚至出现稳定性问题。例如,如果频繁地处理Timer0的中断,可能会影响到系统的实时性能。 ##### ...
由于它的强大功能,如果不小心使用,可能导致内存泄漏、数据破坏甚至系统崩溃。 2. **堆外内存与性能** 堆外内存,也称为直接内存,是Java虚拟机(JVM)之外的内存空间。相比堆内存,它不受JVM垃圾收集器的影响,...
书中深入地分析了开发不包含逻辑和语法错误的代码技巧以及调试程序的基本原理,介绍了开发和调试命令行代码的过程和方法,说明了关于定位、分析及修复编程错误的方法,介绍了开发 Visual C++程序时所遇到的特殊...
不小心被针刺时,会通过反射弧完成缩手动作,而在有意识控制下,人可以忍住疼痛不缩手。 4. 突触功能:兴奋在突触间单向传递,由电信号转变为化学信号再转为电信号。神经递质通过胞吐进入突触间隙,随后与受体结合...
相连接、发电厂、电池、化学制品、忠告、建议、电饭煲、罐、壶、家庭主妇、仔细的、小心的、拔去、微波炉、加热、变热、金属、水壶、熨斗。 - 短语:移动、改变位置、屏幕、荧屏、模拟电视、数字电视、质量、特征、...