tomcat连接池针对项目独立配置

tomcat6.0 数据库连接池对于项目独立的配置

以前的tomcat数据库连接池是在conf下的context.xml里配置的,这样的情况下,如果一个tomcat里面配置了多个
应用,那么针对于每个应用的都会产生一个相应的连接池,这样就会有产生很多项目不用的没有必要的连接池,但是这样在其他
项目中却要用到,这样的配置会导致连接池资源的浪费,并且不利于针对项目的控制。

现在需要这样一种配置,就是配置连接池是针对于每个项目的,对应的项目只产生它所需要的连接池,每个项目的连接池的参数配置
只会对本项目有效,对其他项目不会有影响。

今天发现tomcat6.0 已经有这样的功能,就是把连接池的配置文件context.xml放到工程目录下的META-INF下,这样在tomcat启动时,
服务器只针对这个项目生产连接池的,而其他项目不会。但是要让META-INF下的context文件生效必须确保在conf目录下的server.xml
文件中的 <GlobalNamingResources></GlobalNamingResources> 标签下 存在下面这样的配置:
  <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />

针对于我们当前的配置应该这样修改:
1.检查tomcat根目录下conf/server.xml中是否存在
<GlobalNamingResources>
    <!-- Editable user database that can also be used by
    UserDatabaseRealm to authenticate users-->
   
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />

</GlobalNamingResources>
这样的配置。
2.将以前conf/context.xml复制到项目的根目录下的META-INF中。
3.注释或者删除掉以前conf/context.xml文件中<Context></Context>父标签下的数据库连接池的Resource配置。
4.针对每个项目检查要用到的连接池,把没有用到的删掉。
5.根据项目需求修改连接池参数。

你可能感兴趣的:(tomcat,xml,应用服务器)