`

[转] MYSQL DBCP JNDI TOMCAT6 隔天或超过8小时访问 DB链接失效 报错 如何来配置context.xml文件

阅读更多

现象:网站上线后,由于开始访问量不是很多,休息天一般都无人访问。发现星期一上班过来,打开网站,报页面找不到的应用错误。
调查原因,原来是DB链接失效,mysql 的数据库有一个全局变量,设定数据库链接有效期限的,默认为8小时。
如果超过这个时间,一直没有访问数据库的话,mysql会自动将其失效。

解决这个问题有两个方法:

1.如下,自动激活DB链接。

设置参考:DB的context.xml文件,添加下面5行属性。
参数设置:参考官网 http://commons.apache.org/dbcp/configuration.html

<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" antiResourceLocking="false">
    <Resource name="jdbc/dbname"
        auth="Container"
        type="javax.sql.DataSource"
        driverClassName="org.gjt.mm.mysql.Driver"
        url="jdbc:mysql://IP.ADD.RE.SS:3306/dbname?characterEncoding=UTF-8"
        username="******"
        password="******"
        maxActive="500"
        maxIdle="30"
        maxWait="10000"
        validationQuery = "SELECT 1"  
        testWhileIdle = "true"    
        timeBetweenEvictionRunsMillis = "3600000"  
        minEvictableIdleTimeMillis = "18000000"
        testOnBorrow = "true
"/>

</Context>

2.可以修改mysql DB的全局参数。

 

将默认原来8小时的时效期限更新为合适的时长。

wait_timeout:
The number of seconds the server waits for activity on an interactive connection before closing it. An interactive client is defined as a client that uses the CLIENT_INTERACTIVE option to mysql_real_connect().

interactive_timeout:
The number of seconds the server waits for activity on a noninteractive connection before closing it. This timeout applies only to TCP/IP and Unix socket file connections, not to connections made using named pipes, or shared memory.

问题:

如果在配置文件my.cnf中只设置参数wait_timeout=100,则重启服务器后进入,

 

执行:  mysql> show variables like “%timeout%”

会发现参数设置并未生效,仍然为28800(即默认的8个小时)。

要同时设置interactive_timeout和wait_timeout才会生效。
set wait_timeout=100
set interactive_timeout=100

重启MySQL Server进入后,查看设置已经生效。

 

From: http://blog.csdn.net/quickgu/article/details/7179023

分享到:
评论

相关推荐

    用dbcp连接池,mysql数据库,在tomcat服务器下,通过hibernate配置jndi数据源.doc

    12. **配置位置**:在Tomcat中,数据源可以在全局的`server.xml`或每个Web应用的`META-INF/context.xml`文件中配置。 13. **数据库表的创建**:示例中创建了一个名为`hibernate_test`的数据库和一个`customer`表,...

    tomcat6中配置JNDI方法

    ### Tomcat6中配置JNDI方法详解 #### 一、引言 在Java Web开发过程中,连接数据库是一项基础而重要的工作。常见的连接方式包括直接使用JDBC(Java Database Connectivity)以及通过JNDI(Java Naming and Directory...

    Tomcat jndi 配置数据源过程

    在Java应用服务器中,Tomcat是一个广泛使用的轻量级服务器,它支持JNDI(Java Naming and Directory Interface)来管理数据源,使得应用程序能够透明地访问数据库资源。JNDI配置数据源是将数据库连接池集成到Tomcat...

    TOMCAT连接池DBCP,在server.xml中配置全局数据源详细的介绍,很有好用啊!!

    然后,为了让Web应用能够访问这个全局数据源,我们需要在每个Web应用的`context.xml`文件(如果没有则创建)中,添加一个`&lt;ResourceLink&gt;`元素,将全局数据源链接到当前Web应用: ```xml &lt;Context&gt; &lt;!-- ... --&gt; ...

    Tomcat 6.0配置数据源(DBCP)和JNDI使用

    总结,配置Tomcat 6.0的数据源(DBCP)和JNDI使用,主要是通过修改服务器和应用的配置文件,然后在代码中利用JNDI查找机制获取数据源,实现数据库连接的高效管理。通过实践和理解这些步骤,可以提升你的Java Web开发...

    Tomcat 服务器server.xml的关键参数配置

    在Tomcat服务器中,可以通过修改`server.xml`文件中的`Connector`元素来配置服务器的监听端口。对于Tomcat 5.0.30版本来说,默认的HTTP监听端口是8080。如果希望将此端口更改为标准的HTTP端口80,可以在`Connector`...

    SpringMVC+JNDI+Tomcat配置数据源

    #### 三、数据源配置在Tomcat的`context.xml`文件或`server.xml`文件中的区别 - **context.xml**:每个Web应用程序都有自己的`context.xml`文件,其中可以包含应用程序特定的资源定义。这种方式适用于单个应用独享...

    dbcp tomcat 配置方法 代码

    这通常通过创建一个名为`context.xml`的文件来完成,该文件位于`WEB-INF`目录下。以下是一个基本的`context.xml`配置示例: ```xml &lt;Context&gt; &lt;!-- DBCP数据源配置 --&gt; type="javax.sql.DataSource" maxActive...

    tomcat5.5.X域名转向和连接池配置的server.xml文件

    在Tomcat 5.5.x版本中,`server.xml`是服务器的主要配置文件,它包含了关于服务器设置、连接器、容器以及其他关键组件的配置信息。本篇文章将详细解释如何在`server.xml`中配置域名转向和连接池。 ### 域名转向...

    JavaEE 使用Tomcat的自带DBCP管理数据源案例

    2. **配置Context**:在Tomcat的`conf/server.xml`文件中,或者在项目的`META-INF/context.xml`中,创建一个`&lt;Resource&gt;`标签来定义数据源。例如: ```xml type="org.apache.commons.dbcp.BasicDataSource" ...

    tomcat配置JNDI数据源

    【标题】:“Tomcat配置JNDI数据源” 【描述】:“在Tomcat服务器上配置JNDI数据源,特别是通过DBCP连接池的方式” 【标签】:“tomcat,配置,JNDI数据源” 【内容】:配置JNDI数据源在Java Web应用程序中是一个...

    Tomcat 配置文件数据库密码加密

    Tomcat 配置文件数据库密码加密,增加factory属性和修改context.xml文件中密码为密文,在lib文件中添加自定义的factory类 代码是jdk1.8版本,包含简单的加密类和http请求,如果使用简单的加密,不需要引用额外的lib...

    数据池连接Name jdbc is not bound in this Context解决方案

    Tomcat作为流行的Java应用服务器,支持多种数据池实现,如Apache Commons DBCP、C3P0或Tomcat内置的Apache Tomcat JDBC Connection Pool。在这个问题中,开发者遇到了一个常见的错误:“Name jdbc is not bound in ...

    applicationContext.xml 详细配置

    ApplicationContext.xml 配置详解 ApplicationContext.xml 是 Spring 框架中用于配置应用程序的核心配置文件。通过该文件,可以定义 Bean、数据源、Session 工厂、 Hibernate 配置等相关信息,从而实现应用程序的...

    Tomcat JNDI配置

    Tomcat JNDI 配置是 Java Web 应用程序中的一种常见配置,用于将数据库连接信息以 JNDI(Java Naming and Directory Interface)的形式存储在 Tomcat 服务器中,以便于应用程序可以通过 JNDI 来获取数据库连接信息。...

    WEB-INF中的web.xml中之前增加以下配置:

    也可以在web工程的webcontent/web-inf目录下建立context.xml文件,这样避免了两次去更改server.xml配置,也可使不同工程使用不同context配置,这是Tomcat6提倡的方法。 六、依赖jar文件 将以下几个jar文件复制到...

    tomcat6.0中配置JNDI的DBCP连接

    在Java应用服务器中,如Tomcat 6.0,配置JNDI(Java Naming and Directory Interface)的DBCP(Database Connection Pool)连接池是管理数据库连接的重要步骤。JNDI是一个标准接口,允许应用程序查找和访问命名服务...

    Struts框架中struts-config.xml文件配置小结

    ### Struts框架中struts-config.xml文件配置详解 #### 一、引言 在Java Web开发领域,Struts是一个非常重要的MVC(Model-View-Controller)框架,它极大地简化了Web应用程序的开发过程。而在Struts框架中,`struts...

    Tomcat5.5 的dbcp配置

    Tomcat 5.5中的DBCP配置涉及到添加依赖库、创建数据源配置文件、配置Tomcat服务器和在应用程序中使用JNDI查找数据源。通过这些步骤,可以实现高效且可扩展的数据库连接管理,为Web应用提供稳定的数据库访问支持。在...

    struts.xml和applicationContext.xml、web.xml的配置

    在Java Web开发中,`struts.xml`, `applicationContext.xml` 和 `web.xml` 是三个至关重要的配置文件,它们各自负责不同的职责,并协同工作来构建一个完整的应用框架。以下是关于这三个配置文件的详细说明。 首先,...

Global site tag (gtag.js) - Google Analytics