Tomcat 8 & JNDI Datasource

参考:http://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html

Tomcat默认数据连接池的实现是DBCP,需要Commons DBCP和Commons Pool包,这些包被包含在tomcat/lib/tomcat-dbcp.jar中。


### DBCP的相关配置参数:http://commons.apache.org/proper/commons-dbcp/configuration.html
### 编辑`tomcat/config/context.xml`
<Context>
    <!-- maxTotal: Maximum number of database connections in pool. Make sure you
         configure your mysqld max_connections large enough to handle
         all of your db connections. Set to -1 for no limit.
         -->

    <!-- maxIdle: Maximum number of idle database connections to retain in pool.
         Set to -1 for no limit.  See also the DBCP documentation on this
         and the minEvictableIdleTimeMillis configuration parameter.
         -->

    <!-- maxWaitMillis: Maximum time to wait for a database connection to become available
         in ms, in this example 10 seconds. An Exception is thrown if
         this timeout is exceeded.  Set to -1 to wait indefinitely.
         -->

    <!-- username and password: MySQL username and password for database connections  -->

    <!-- driverClassName: Class name for the old mm.mysql JDBC driver is
         org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
         Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
         -->

    <!-- url: The JDBC connection url for connecting to your MySQL database.
         -->

    <Resource
        name="jdbc/TestDB"
        auth="Container"
        type="javax.sql.DataSource"
        maxTotal="100"
        maxIdle="30"
        maxWaitMillis="10000"
        username="javauser"
        password="javadude"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/javatest" />

</Context>

### 编辑`WEB-INF/web.xml`
<web-app ...>
    ...

    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/TestDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container<res-auth>
    </resource-ref>

    ...
</web-app>

### 或者在Spring中引用
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/TestDB" />
posted @ 2016-05-19 16:10  _lazyval  阅读(442)  评论(0编辑  收藏  举报