读书人

Tomcat6.0连接池配备

发布时间: 2012-09-12 09:21:30 作者: rapoo

Tomcat6.0连接池配置

?Tomcat6.0连接池配置
? 1.配置tomcat下的conf下的context.xml文件,在之间添加连接池配置:

查看复制到剪切板打印
<Resource name="jdbc/oracle"??????
?????? auth="Container"??????????
?????? type="javax.sql.DataSource"??????????
?????? driverClassName="oracle.jdbc.driver.OracleDriver"??????????
?????? url=" jdbc:oracle:thin:@host:port:databse"??????????
?????? username=" user "??????????
?????? password="password"??????????
?????? maxActive="100"??????????
?????? maxIdle="30"??????????
????? maxWait="10000" />?????
? <Resource name="jdbc/oracle"??
???????? auth="Container"??????
???????? type="javax.sql.DataSource"??????
???????? driverClassName="oracle.jdbc.driver.OracleDriver"??????
???????? url=" jdbc:oracle:thin:@host:port:databse"??????
???????? username=" user "??????
???????? password="password"??????
???????? maxActive="100"??????
???????? maxIdle="30"??????
??????? maxWait="10000" />?? 2.配置你的应用下的web.xml中的之间加入:

查看复制到剪切板打印
<resource-ref>??????????
??? <description>DB Connection</description>??????????
??? <res-ref-name>jdbc/oracle</res-ref-name>??????????
??? <res-type>javax.sql.DataSource</res-type>??????????
??? <res-auth>Container</res-auth>??????????
? </resource-ref>????
? <resource-ref>??????
????? <description>DB Connection</description>??????
????? <res-ref-name>jdbc/oracle</res-ref-name>??????
????? <res-type>javax.sql.DataSource</res-type>??????
????? <res-auth>Container</res-auth>??????
??? </resource-ref>? 3.把连接数据库的第三方驱动放到common/lib下面就ok了
4.测试程序我就不写了
???
Tomcat5.5x连接池配置
???
方式一、全局数据库连接池
1、通过管理界面配置连接池,或者直接在tomcat\conf\server.xml的GlobalNamingResources中增加

查看复制到剪切板打印
<Resource name="jdbc/mydb"????
? type="javax.sql.DataSource"??
? password="mypwd"??
? driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"??
? maxIdle="2"??
? maxWait="5000"??
? validationQuery="select 1"??
? username="sa"??
? url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"??
? maxActive="4"/>????
<Resource name="jdbc/mydb"
? type="javax.sql.DataSource"
? password="mypwd"
? driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
? maxIdle="2"
? maxWait="5000"
? validationQuery="select 1"
? username="sa"
? url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"
? maxActive="4"/>? 2、在tomcat\webapps\myapp\META-INF\context.xml的Context中增加:

查看复制到剪切板打印
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>??????
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>??? 这样就可以了。
方式二、全局数据库连接池
1、同上
2、在tomcat\conf\context.xml的Context中增加:

查看复制到剪切板打印
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>??????
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>??? 方式三、局部数据库连接池
只需在tomcat\webapps\myapps\META-INF\context.xml的Context中增加:

查看复制到剪切板打印
<Resource name="jdbc/mydb" type="javax.sql.DataSource" password="mypwd" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" validationQuery="select 1" username="sa" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>??????
<Resource name="jdbc/mydb" type="javax.sql.DataSource" password="mypwd" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" validationQuery="select 1" username="sa" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>??? 参数说明:
driveClassName:JDBC驱动类的完整的名称;
maxActive:同时能够从连接池中被分配的可用实例的最大数;
maxIdle:可以同时闲置在连接池中的连接的最大数;
maxWait:最大超时时间,以毫秒计;
password:用户密码;
url:到JDBC的URL连接;
user:用户名称;
validationQuery:用来查询池中空闲的连接。
以上三种方式在tomcat 5.5.4下都可以。另外,sql server的jdbc driver是从微软网站上下载的sql server jdbc (sp3)。
???
tomcat5.0连接池配置
在tomcat 的下面路径(Tomcat \conf\Catalina\localhost)下建一个xml文件,内容如下

查看复制到剪切板打印
<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>???????
??? <ResourceParams name="jdbc/test">???????
??????? <parameter>???????
??????????? <name>factory</name>???????
??????????? <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>???????
??????? </parameter>???????
??????? <!-- Maximum number of dB connections in pool. Make sure you???????
???????????? configure your mysqld max_connections large enough to handle???????
???????????? all of your db connections. Set to 0 for no limit.???????
???????????? -->???????
??????? <parameter>???????
??????????? <name>maxActive</name>???????
??????????? <value>100</value>???????
??????? </parameter>???????
??????? <!-- Maximum number of idle dB connections to retain in pool.???????
???????????? Set to 0 for no limit.???????
???????????? -->???????
??????? <parameter>???????
??????????? <name>maxIdle</name>???????
??????????? <value>30</value>???????
??????? </parameter>???????
??????? <!-- Maximum time to wait for a dB connection to become available???????
???????????? in ms, in this example 10 seconds. An Exception is thrown if??????
???????????? this timeout is exceeded.? Set to -1 to wait indefinitely.???????
???????????? -->???????
??????? <parameter>???????
??????????? <name>maxWait</name>???????
??????????? <value>10000</value>???????
??????? </parameter>???????
??????? <!-- MySQL dB username and password for dB connections? -->???????
??????? <parameter>???????
??????????? <name>username</name>???????
??????????? <value>sa</value>???????
??????? </parameter>???????
??????? <parameter>???????
??????????? <name>password</name>???????
??????????? <value>test</value>???????
??????? </parameter>???????
??????? <!-- Class name for JDBC driver -->???????
??????? <parameter>???????
??????????? <name>driverClassName</name>???????
??????????? <value>net.sourceforge.jtds.jdbc.Driver</value>???????
??????? </parameter>???????
??????? <!-- Autocommit setting.? This setting is required to make???????
???????????? Hibernate work.? Or you can remove calls to commit(). -->???????
??????? <parameter>???????
??????????? <name>defaultAutoCommit</name>???????
??????????? <value>true</value>???????
??????? </parameter>???????
??????? <!-- The JDBC connection url for connecting to your MySQL dB.???????
???????????? The autoReconnect=true argument to the url makes sure that the???????
???????????? mm.mysql JDBC Driver will automatically reconnect if mysqld closed the???????
???????????? connection.? mysqld by default closes idle connections after 8 hours.???????
???????????? -->???????
??????? <parameter>???????
??????????? <name>url</name>???????
??????????? <value>jdbc:jtds:sqlserver://url/filedb;charset=gb2312;autoReconnect=true</value>???????
??????? </parameter>???????
??????? <!-- Recover abandoned connections -->???????
??????? <parameter>???????
??????????? <name>removeAbandoned</name>???????
??????????? <value>true</value>???????
??????? </parameter>???????
??????? <!-- Set the number of seconds a dB connection has been idle????????
???????????? before it is considered abandoned.????????
???????????? -->???????
??????? <parameter>???????
??????????? <name>removeAbandonedTimeout</name>???????
??????????? <value>60</value>???????
??????? </parameter>???????
??????? <!-- Log a stack trace of the code which abandoned the dB????????
???????????? connection resources.????????
???????????? -->???????
??????? <parameter>???????
??????????? <name>logAbandoned</name>???????
??????????? <value>true</value>???????
??????? </parameter>???????
??? </ResourceParams>????


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhengguangyi130/archive/2009/03/02/3950105.aspx

读书人网 >软件架构设计

热点推荐