Tomcat数据库连接池配置

来源:互联网 发布:淘宝商品点击率怎么看 编辑:程序博客网 时间:2024/04/29 16:29

       项目——想改变TOMCAT数据库连接池的参数,主要参考文章:

http://www.blogjava.net/gm_jing/articles/308828.html

http://www.cnblogs.com/dennisit/archive/2013/04/04/2999657.html。

     对此我的做法是:

    一、在%Tomcat_Home%\webapps\yourApp\META-INF 下创建并编写context.xml

<Context reloadable="true">      <WatchedResource>WEB-INF/web.xml</WatchedResource>      <Resource name="jdbc/mysqlds" auth="Container" type="javax.sql.DataSource"        maxActive="100"        maxIdle="30"      maxWait="10000"      username="root"        password="123456"      driverClassName="com.mysql.jdbc.Driver"      url="jdbc:mysql://localhost:3307/weihedatabase"/>  </Context>  

其中相关参数:

 配置mysql数据库的连接池,
需要做的额外步骤是将mysql的Java驱动类放到tomcat的lib目录下
maxIdle 连接池中最多可空闲maxIdle个连接
minIdle 连接池中最少空闲maxIdle个连接
initialSize 初始化连接数目
maxWait 连接池中连接用完时,新的请求等待时间,毫秒
username 数据库用户名
password 数据库密码

    二、将DRIVER的驱动赋值到%Tomcat_Home%\lib 下,具体文件mysqldriver.jar。

    三、编写测试用例test.jsp

<%@ page language="java"  pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>     <%@ page import="java.sql.*" %>     <%@ page import="javax.naming.*" %>     <%@ page import="javax.sql.DataSource" %><html>     <head>     <title>Tomcat6.0 JNDI!</title>    </head>      <body>         Tomcat连接池测试,获取数据源 <br>         <%             try {                  //初始化查找命名空间            Context ctx = new InitialContext();              //参数java:/comp/env为固定路径               Context envContext = (Context)ctx.lookup("java:/comp/env");            //参数jdbc/mysqlds为数据源和JNDI绑定的名字            DataSource ds = (DataSource)envContext.lookup("jdbc/mysqlds");            Connection conn = ds.getConnection();                 conn.close();                 out.println("<span style='color:red;'>JNDI测试成功<span>");             } catch (NamingException e) {                 e.printStackTrace();             } catch (SQLException e) {                 e.printStackTrace();             }         %>       </body>     </html>

       实验截图

    四、FURTHER MORE:上诉测试并没真正与数据库结合。下面的链接讲诉与数据库结合的测试:
http://shuyangyang.blog.51cto.com/1685768/1151537。

    以及在调用形式上的改变:

     ——NOW

 

Context context = new InitialContext(); DataSource ds = (DataSource)context.lookup("java:/comp/env/jdbc/mysqlds"); Connection conn = ds.getConnection(); 

    ——BEFORE 则可以将建立connection的方式以上述形式取代传统方式:

String driver = "xx"; String url = "xx"; String username = "xx"; String password = "xx"; Class.forName(driver); Connection conn = DriverManager.getConnection(url, username, password); 
   后记: 连接数据库后果然出错了,google了一下,修改了hibernate.cfg.xml文件,删除了
<property name="connection.url">jdbc:mysql://localhost:3307/weihedatabase</property><property name="connection.username">root</property><property name="connection.password">123456</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property>

等信息。具体解决链接:http://www.coderanch.com/t/218686/ORM/databases/Exception-transaction。

 


 

原创粉丝点击