zoukankan      html  css  js  c++  java
  • Tomcat 7 DBCP 配置(MySQL)

    复制mysql-connector-java-5.1.17-bin.jar到$CATALINA_BASE/lib中。

    使用DBCP需要安装以下两个组件:
    1.Commons DBCP
    2.Commons Pool
    tomcat安装目录下的lib/tomcat-dbcp.jar已经包含这两个组件了。
    tomcatJNDI配置是写在context中的。在tomcat6中context有5种定义方式:
    1.将数据库连接池的配置写在 $CATALINA_BASE/conf/context.xml中,这样的配置可以被tomcat服务器上所有的服务加载
    2.写在文件$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default中,同样这个文件可以被这个host下的所有服务加载。
    3.写在文件$CATALINA_BASE/conf/[enginename]/[hostname]/***.xml中
    4.在所要发布的web应用下的/META-INF/context.xml(如果没有则创建)中写上配置内容。这样在web应用发布的时候这个xml配置文件会自动复制到$CATALINA_BASE/conf/[enginename]/[hostname]/目录下面,并重命名为web应用名字.xml。
    5.是将配置内容写在cong/server.xml文件中。(不建议这种方式,因为这样修改context配置需要重新启动tomcat服务器)

    定义方式(4)的特点:应用开发者可以自己配置数据库连接池而不用修改服务器端的配置,而且也支持热部署。
    数据库连接池context的属性
    数据库连接池默认是不支持设置自动释放长时间未用的connection的。可以通过设置removeAbandoned="true"来是DBCP连接池支持自动释放长时间未用的连接。默认的时间是300秒,可以通过设置removeAbandonedTimeout="60"来将释放延时改为60秒或者其他。
    下面是mysql 数据库的context配置示例:

    $CATALINA_BASE/conf/context.xml

    <Resource name="jdbc/MySQLDB" auth="Container" type="javax.sql.DataSource"
                   maxActive="100" maxIdle="30" maxWait="10000"
                   username="root" password="Abc12345" driverClassName="com.mysql.jdbc.Driver"
                   url="jdbc:mysql://172.16.13.120:3306/test01"/>

    WEB-INF/web.xml

    <description>MySQL Test App</description>
      <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/MySQLDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>

  • 相关阅读:
    重新认识数据库的链接查询
    mysql删除一张表中的重复数据
    mysql数据库里复制一张表的SQL,报错 (1786
    case when的使用场景。
    python:浅析python 中__name__ = '__main__' 的作用
    Group(), Groups(),& Groupdict() 用法
    python re模块findall()详解
    练习题(第二模块...模块...选择填空)
    subprocess模块 sys模块
    json,pickle,shelve模块,xml处理模块
  • 原文地址:https://www.cnblogs.com/flysoft/p/2129484.html
Copyright © 2011-2022 走看看