love fish大鹏一曰同风起,扶摇直上九万里

常用链接

统计

积分与排名

friends

link

最新评论

tomcat5.5.9连接池的配置(转)

最近做个项目,需要在tomcat,weblogic中写连接池.weblogic还是老样子,照着图形界面配置就可以了.Tomcat我用的是5.5.9.虽说以前用tomcat4版本写过,可早就听说,5版本和4版本的差距很大.所以就提前做好了心里准备,先看了一个帮助文档,花了进一个小时的时间搞定,现在整理出来与大家分享.
其实Tomcat5要比tomcat4简单多了,如果还是按tomcat4的套路来,呵呵,那恐怕那走很多弯路了.
第一步:在tomcat5→common→lib下加入你所连接数据库的驱动包.这里我用的mysql数据库.
第二步:在tomcat5→conf→Catalina→localhost配置一个xml文件.这里一定要注意,必须和你的项目名称是一模一样的.我用的项目名为testTomcat.testTomcat.xml文件配置如下:
    <Resource name='jdbc/mysql' auth='Container'
              type='javax.sql.DataSource' driverClassName='com.mysql.jdbc.Driver'
             url='jdbc:mysql://127.0.0.1:3306/addressbooksample'
              username='root' password='' maxActive='20' maxIdle='10'
              maxWait='-1'/>
 
 <ResourceLink
    global="UserDatabase"
    name="users"
type="org.apache.catalina.UserDatabase"/>
这里就和以前的tomcat4版本不一样了,以前要在server.xml配置.而tomcat5版本直接在这里配置就可以了.
第三步:在你项目的web.xml配置如下:
 <resource-ref>
    <description>mysql  for 192.1.1.156 </description>
    <res-ref-name> jdbc/mysql </res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
 </resource-ref>
注意:这里的res-ref-name名字必须和testTomcat.xml文件中的一样.其实这一步省去也是可以的.但还是建议配置一下.
第四步:建一个JSP页面来感受一下成功的喜悦吧.页面代码如下
Context initCtx = new InitialContext();
           Context ctx = (Context) initCtx.lookup("java:comp/env");
          ds   =(javax.sql.DataSource) ctx.lookup( "jdbc/mysql");
          System.out.println("Init datasource OK @!");
注意:别忘了引入相关的包哦.还要注意的是这里不能用主函数来测试.因为你主函是得到tomcat的上下文的.
在项目中应用如下:
public class TomcatJDNI {
 
     public static String
     DATASOURCE_CONFIG_FILE="test.db";
         public static DataSource ds;
        
         static{
              try{
          ResourceBundle rb = ResourceBundle.getBundle(DATASOURCE_CONFIG_FILE);
          String dsName     = rb.getString("datasource_name");
               Context initCtx = new InitialContext();
              Context ctx = (Context) initCtx.lookup("java:comp/env");
          ds   =(javax.sql.DataSource) ctx.lookup(dsName);
          System.out.println("Init datasource OK @!");
     }catch(Exception e){
         System.out.println("can’t init datasource !");
     }
     }
 
     public static Connection getConnection() throws SQLException{
         return ds.getConnection();
     }
这里的test.db是一个db.properties文件.文件内容如下
datasource_name= jdbc/mysql
这样扩展性比较好.连接其它的数据库,只需要改动此文件,无需重新编译.
就到这里吧
Good luck!

posted on 2007-03-30 09:29 liaojiyong 阅读(318) 评论(0)  编辑  收藏 所属分类: AppServer


只有注册用户登录后才能发表评论。


网站导航: