Tomcat连接池配置及spring引用方式

  • Tomcat连接池的配置方式很多,在网上搜索各种版本不一,这里介绍一下我的个人配置经验,希望对你有用。

    我这里以tomcat6 和 tomcat 7 为例(低版本可能有些许差别),使用oracle10g数据库(其他库类似),在spring中引用。

    1 准备工作
    配置之前,先将oracle10g的数据库驱动包ojdbc14.jar放到tomcat目录下的lib文件夹中

    2 在Tomcat中配置连接池
    Tomcat连接池配置的方式很多,这里介绍两种。

    2.1在context.xml中配置连接池
    在tomcat目录下的conf文件夹中,修改context.xml文件,在context标签之间添加Resource标签如下

     

     

     
    <Context> 
        <!-- Default set of monitored resources --> 
    <WatchedResource>WEB-INF/web.xml</WatchedResource>   
        <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> 
        <Resource name="jdbc/oracleTest" 
                        auth="Container" 
                        type="javax.sql.DataSource" 
                        driverClassName="oracle.jdbc.driver.OracleDriver" 
                        url="jdbc:oracle:thin:@ip:1521:oral" 
                        username="zhangsan" 
                        password="sdfsdf" 
                        maxActive="100" 
                        maxIdle="30" 
                        maxWait="10000"/> 
     </Context> 

    <Context>
        <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
        <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
     <Resource name="jdbc/oracleTest"
         auth="Container"
         type="javax.sql.DataSource"
         driverClassName="oracle.jdbc.driver.OracleDriver"
         url="jdbc:oracle:thin:@ip:1521:oral"
         username="zhangsan"
         password="sdfsdf"
         maxActive="100"
         maxIdle="30"
         maxWait="10000"/>
     </Context>
     

    2.2在server.xml中配置连接池
    如果你在conf文件夹中的server.xml文件里像如下这样配置了全局context:


     
    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" 
        xmlValidation="false" xmlNamespaceAware="false"> 
        <Context docBase="E:\projects\test\WebRoot"   
    path="" debug="0" crossContext="true" > 
        </Context>              
    </Host> 

    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"
     xmlValidation="false" xmlNamespaceAware="false">
     <Context docBase="E:\projects\test\WebRoot"
    path="" debug="0" crossContext="true" >
     </Context>   
    </Host>

    也可以将2.1中的Resource标签添加到这里的context下,变成下边这样

     
    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" 
        xmlValidation="false" xmlNamespaceAware="false"> 
        <Context docBase="E:\projects\test\WebRoot"   
    path="" debug="0" crossContext="true" > 
            <Resource name="jdbc/oracleTest " 
                auth="Container" 
                type="javax.sql.DataSource" 
                    driverClassName="oracle.jdbc.driver.OracleDriver" 
                    url="jdbc:oracle:thin:@ip:1521:oral" 
                    username="zhangsan" 
                    password="sdfsdf" 
                maxActive="100" 
                maxIdle="30" 
                maxWait="10000" 
            /> 
        </Context>              
    </Host> 

    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"
     xmlValidation="false" xmlNamespaceAware="false">
     <Context docBase="E:\projects\test\WebRoot"
    path="" debug="0" crossContext="true" >
      <Resource name="jdbc/oracleTest "
       auth="Container"
       type="javax.sql.DataSource"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@ip:1521:oral"
        username="zhangsan"
        password="sdfsdf"
       maxActive="100"
       maxIdle="30"
       maxWait="10000"
      />
     </Context>   
    </Host>
     

    3 Spring中引用数据源
    引用方式也很简单,只需要将spring配置文件中关于数据源配置的标签替换成下边这样既可


    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">   
            <property name="jndiName">   
                <value>java:comp/env/xxx/xxxxxx</value>              
            </property>   
        </bean> 

    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
            <property name="jndiName">
                <value>java:comp/env/xxx/xxxxxx</value>           
            </property>
        </bean>
     

    其中/xxx/xxxxx 部分与我们在上边定义的Resource名字对应即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值