Tomcat6.x配置及使用连接池

    教程使用的是Tomcat5.x,进入Tomcat界面可以直接配置DataSource,我的是Tomcat6.x,登录Tomcat后发现没有Tomcat Administration Web Application项。

    原来Tomcat 5.5 以后的核心安装版不再集成Tomcat Administration Web Application,需要独立下载安装。而Tomcat 6.0.13的Administration Web Application仅包含在源码包中,没有独立下载的安装包。以下说明一下如何将Tomcat Administration Web Application部署到Tomcat中。

连接池

    操作的数据量不大时,真正用于操作数据库的时间很短,但是关闭和打开数据库连接使用的时间却很长,连接池的作用就是提前建立数据库连接,线程使用时调用即可,关闭连接归还给连接池即可。

    这里有几个定义需要解释一下:最大连接数、最小连接数、获取链接、关闭连接

  • 最小连接数指的是连接池初始化时建立的数据库连接数,是连接池保持连接的下限。
  • 当连接池中连接不够用时,连接池可以继续新建连接,最大连接数指的是连接池中连接的上限,当达到这个上限连接仍然不够用时,线程只能等待其他连接被释放才能得到连接。
  • 获取连接,使用连接池以后,线程的连接不再是从数据库获取,而是从连接池中拿已经存在的连接。
  • 关闭连接,当线程使用conn.close()以后,并不是真正的销毁连接,而是将连接归还给连接池。
    

部署

  • 下载Tomcat 5.5.23 的admin application,解压apache-tomcat-5.5.23-admin.zip,将conf和server两个文件夹拷贝到Tomcat 6.0.13安装目录下。
  • 载Apache Commons Modeler,Logging组件,解压后将commons-modeler-XXX.jar、commons-logging-XXX.jar拷贝到Tomcat 6.0.13安装目录下的lib目录中。
  • 启动Tomcat,在浏览器中输入http://127.0.0.1:8080/admin,如果能看到Tomcat Web Server Administration Tool 的登录界面,即安装成功。若不成功,可以查看Tomcat 6.0.13安装目录下logs目录里的日志文件如(admin.xxxx-xx-xx.log),看看是出了什么问题。安装成功界面如下:
    Tomcat6.x配置及使用连接池_第1张图片
    

配置

   以上仅仅是完成了安装,尚未添加Tomcat用户,以下来配置Tomcat用户。

   在Tomcat/conf/tomcat-user.xml下添加用户:

<user username="admin" password="admin" roles="manager,admin" />

   浏览http://127.0.0.1:8080/admin,登录后进入Resources---DataSources---Create New Data Source,客户刷建立一个新连接池即可。以上步骤,仅仅是为了可视化操作DataSource,如果不安装admin application,手动修改配置文件即可:

<Resource
      name="jdbc/drp"
      type="javax.sql.DataSource"
      password="drp1"
      driverClassName="oracle.jdbc.driver.OracleDriver"
      maxIdle="2"
      maxWait="5000"
      username="drp1"
      url="jdbc:oracle:thin:@localhost:1521:DrpDB"
      maxActive="4"/>

使用

    使用JNDI查找使用即可:

/**
	 * 取得Connection
	 * @return
	 */
	public static Connection getConnection() {
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		try { 
			//new DBCP....
			Context ctx = new InitialContext();
			//通过JNDI查找DataSource
		 	DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/drp");
		 	conn = ds.getConnection();
		}
		catch(Exception e)
		{
			e.printStackTrace();
			throw new ApplicationException("连接数据库错误,请联系管理员");
		}
		return conn;
	}

总结

    如何设置最大连接数、最小连接数才能达到连接个数的最佳方案?这个还是需要针对具体情况而设置,连接池仅仅是优化数据库连接的一个方式,其它方面,例如编程控制、优化操作等,仍需实践才能得到合适的处理方案。

附下载地址:

1.commons-modeler下载地址:
http://apache.mirror.phpchina.com/commons/modeler/binaries/commons-modeler-2.0.1.zip
2.commons-logging下载地址:
http://apache.mirror.phpchina.com/commons/logging/binaries/commons-logging-1.1.zip

3.admin application:
http://apache.mirror.phpchina.com/tomcat/tomcat-5/v5.5.23/bin/apache-tomcat-5.5.23-admin.zip


    更多博客,其访问《项目总结》。

你可能感兴趣的:(Tomcat6.x配置及使用连接池)