`
tomgooityeeee
  • 浏览: 73724 次
文章分类
社区版块
存档分类
最新评论
阅读更多

   
<p style="">在很多场合都碰到有人提问: 第二天第一次访问应用,总是报连接已经关闭(Connection Close)

<p style=""><a style="color: #2970a6; text-decoration: none;" href="http://commons.apache.org/dbcp/api-1.4/org/apache/commons/dbcp/BasicDataSource.html" target="_blank">Apache DBCP</a>:
<div class="wp_codebox_msgheader" style="">
<span class="left" style="padding-bottom: 2px; line-height: 18px; padding-left: 20px; padding-right: 5px; font-family: tahoma, arial, verdana; background-position: 0% 50%; float: left; margin-left: 5px; font-size: 14px; margin-right: 10px; padding-top: 2px;"><a style="color: #2970a6; font-weight: bold; text-decoration: none;">View Code</a><span class="Apple-converted-space"> </span>JAVA</span>
<div class="wp_codebox" style="">
<table style="border-bottom: #cccccc 2px solid; border-left: #cccccc 2px solid; background-color: #ffffff; margin: 5px 0px 10px; width: 586px; border-collapse: collapse; border-top: #cccccc 2px solid; border-right: #cccccc 2px solid;" border="0"><tbody><tr id="p3091">
<td id="p309code1" class="code" style="border-bottom: #cccccc 1px solid; text-align: left; border-left: #cccccc 1px solid; padding-bottom: 3px; padding-left: 10px; padding-right: 10px; vertical-align: top; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 3px;">
dataSource.<span style="color: #006633;">setValidationQuery</span><span style="color: #009900;">(</span><span style="color: #0000ff;">'select 1'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>

</td>
</tr></tbody></table>


<div class="wp_codebox_msgheader" style="">
<span class="left" style="padding-bottom: 2px; line-height: 18px; padding-left: 20px; padding-right: 5px; font-family: tahoma, arial, verdana; background-position: 0% 50%; float: left; margin-left: 5px; font-size: 14px; margin-right: 10px; padding-top: 2px;"><a style="color: #2970a6; font-weight: bold; text-decoration: none;">View Code</a><span class="Apple-converted-space"> </span>JAVA</span>
<div class="wp_codebox" style="">
<table style="border-bottom: #cccccc 2px solid; border-left: #cccccc 2px solid; background-color: #ffffff; margin: 5px 0px 10px; width: 586px; border-collapse: collapse; border-top: #cccccc 2px solid; border-right: #cccccc 2px solid;" border="0"><tbody><tr id="p3092">
<td id="p309code2" class="code" style="border-bottom: #cccccc 1px solid; text-align: left; border-left: #cccccc 1px solid; padding-bottom: 3px; padding-left: 10px; padding-right: 10px; vertical-align: top; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 3px;">
dataSource.<span style="color: #006633;">setTestConnectionOnCheckout</span><span style="color: #009900;">(</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
dataSource.<span style="color: #006633;">setPreferredTestQuery</span><span style="color: #009900;">(</span><span style="color: #0000ff;">'select 1'</span><span style="color: #009900;">)</span>

</td>
</tr></tbody></table>

<p style=""><a style="color: #2970a6; text-decoration: none;" href="http://proxool.sourceforge.net/api-dev/org/logicalcobwebs/proxool/ProxoolDataSource.html" target="_blank">Proxool</a>:
<div class="wp_codebox_msgheader" style="">
<span class="left" style="padding-bottom: 2px; line-height: 18px; padding-left: 20px; padding-right: 5px; font-family: tahoma, arial, verdana; background-position: 0% 50%; float: left; margin-left: 5px; font-size: 14px; margin-right: 10px; padding-top: 2px;"><a style="color: #2970a6; font-weight: bold; text-decoration: none;">View Code</a><span class="Apple-converted-space"> </span>JAVA</span>
<div class="wp_codebox" style="">
<table style="border-bottom: #cccccc 2px solid; border-left: #cccccc 2px solid; background-color: #ffffff; margin: 5px 0px 10px; width: 586px; border-collapse: collapse; border-top: #cccccc 2px solid; border-right: #cccccc 2px solid;" border="0"><tbody><tr id="p3093">
<td id="p309code3" class="code" style="border-bottom: #cccccc 1px solid; text-align: left; border-left: #cccccc 1px solid; padding-bottom: 3px; padding-left: 10px; padding-right: 10px; vertical-align: top; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 3px;">
dataSource.<span style="color: #006633;">setTestBeforeUse</span><span style="color: #009900;">(</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
dataSource.<span style="color: #006633;">setHouseKeepingTestSql</span><span style="color: #009900;">(</span><span style="color: #0000ff;">'select 1'</span><span style="color: #009900;">)</span>

</td>
</tr></tbody></table>


<p style="">其实原来也就这么简单,返回连接给用户之前,先执行一条简单无害快速的SQL
 
0
1
分享到:
评论

相关推荐

    oracle遇到连接空闲例程

    这类问题通常发生在长时间未使用的连接上,由于缺乏活动导致连接被Oracle认为是闲置状态,进而可能引发一系列错误或性能问题。下面我们将基于提供的文件信息,详细介绍如何解决Oracle遇到连接空闲例程的问题。 ####...

    C# 数据库连接池 C# 数据库连接池

    数据库连接池是数据库管理中的一个重要概念,它在C#编程中扮演着优化数据库操作的关键角色。C#数据库连接池是一种管理数据库连接的技术,通过复用已存在的连接而不是每次请求时都创建新的连接,从而提高数据库操作的...

    C#高效数据库连接池源码

    - **超时管理**:连接池需要监控每个连接的空闲时间,避免因长时间未使用的“僵尸”连接占用资源。 - **线程安全**:在多线程环境下,连接池必须确保并发安全,防止数据竞争和同步问题。 6. **性能优化**: - **...

    数据库连接池java代码实现

    这样可以显著减少数据库连接的创建和关闭时间,提升系统的响应速度和并发能力。 首先,我们需要定义一个连接池类,它通常包含以下组件: 1. **连接池容量**:定义了池中最大可以保存的连接数量,这是连接池大小的...

    jsp连接数据库连接池代码示例

    数据库连接池是一种管理数据库连接的技术,它预先初始化一定数量的数据库连接并保存在内存中,当应用程序需要连接数据库时,可以从连接池中获取一个已存在的连接,用完后再归还,而不是每次都新建和关闭连接。...

    手动设计自定义数据库连接池

    5. **连接超时处理**:如果某个线程长时间未归还连接,连接池可以配置为自动断开该连接,以释放资源供其他线程使用。 #### 三、手动设计自定义数据库连接池 在实际开发过程中,有时可能会遇到标准的连接池解决方案...

    delphi实现数据库连接池

    在Delphi这个强大的Windows应用程序开发环境中,实现数据库连接池能够有效地解决频繁创建和销毁数据库连接带来的性能问题。下面我们将详细探讨如何在Delphi中实现数据库连接池,以及其核心概念和优势。 数据库连接...

    delphiADO数据库连接池

    3. **空闲连接管理**:连接池可能会有一个机制监控空闲连接,如果连接长时间未被使用,可以自动关闭,释放系统资源。这有助于保持系统的高效运行。 4. **异常处理与内存管理**:修复了"free时很慢"和"free时有内存...

    数据库连接池原理

    - 连接关闭后,客户端会出现大量TIME_WAIT的TCP状态。 - **使用连接池的网络交互** - 使用连接池后,首次访问数据库时需要建立连接,之后的访问将复用这些连接。这种方式可以显著减少网络交互次数,提升系统性能,...

    delphi数据库连接池

    4. 连接超时:为防止连接长时间未被释放导致资源浪费,可以设置超时机制,当连接空闲超过特定时间后自动回收。 5. 连接验证:在从池中获取连接时,可能需要进行验证,确保连接仍然有效,如检查网络状态、数据库...

    数据库连接池代码实现

    以上就是数据库连接池的基本概念和实现方法。在实际开发中,我们还需要考虑连接池的监控和调优,比如监控连接池的使用情况,根据性能指标调整参数,以及处理异常和错误情况,以保证系统的稳定性和高效性。

    自己写的数据库连接池

    - 连接超时和检查:定期检查连接的有效性,防止因长时间未使用的空闲连接导致的问题。 - 连接池大小管理:设置最小和最大连接数,避免资源浪费和连接耗尽。 - 监控和日志:记录连接池的使用情况,如当前连接数、借用...

    web中常用数据库连接池

    数据库连接池的基本工作原理是:当应用程序需要访问数据库时,首先从连接池中获取一个已经建立好的连接,使用完毕后,不是立即关闭连接,而是将其归还给连接池,以便其他请求再次使用。这样避免了频繁地打开和关闭...

    自定义的数据库连接池

    连接池的基本原理是预先初始化一定数量的数据库连接,这些连接在空闲时被存储在池中,当应用需要访问数据库时,可以从池中获取一个已存在的连接,用完后再归还回池,而不是直接关闭。这种机制可以显著降低系统的资源...

    delphi ado 数据库连接池

    - 连接超时和空闲回收机制:避免因长时间未使用的连接占用资源,设置合理的超时和空闲回收策略。 - 错误处理:处理连接失败、超时、资源耗尽等情况,提供合适的错误反馈和恢复机制。 总结来说,`delphi ado 数据库...

    数据库连接池的图解原理

    - **连接稳定性差**:单一连接长时间使用可能导致连接不稳定,从而增加服务器重启的概率。 #### 三、数据库连接池的基本原理 为了克服上述问题,引入数据库连接池的概念是非常必要的。连接池的基本思想是在程序...

    winform数据库连接池源码

    8. **最佳实践**:为了充分利用连接池,开发者应避免长时间持有数据库连接,尤其是在异步操作中。同时,尽可能使用相同的连接字符串创建连接,因为不同的连接字符串会创建不同的连接池。 总的来说,`...

    数据库连接池完美讲解(含源码)

    5. 连接超时和空闲连接回收:设置超时和空闲时间,防止长时间未使用的连接占用资源。 常见的数据库连接池实现有Apache的DBCP、C3P0,以及HikariCP等。其中,HikariCP以其优秀的性能和稳定性受到广泛欢迎,它的设计...

Global site tag (gtag.js) - Google Analytics