您的位置:首页 > 运维架构 > Tomcat

Tomcat数据库连接池配置

2013-11-28 17:09 260 查看
       项目——想改变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

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: