tomcat连接池的配置:对于5.5之前的版本,配置连接池,在server.xml中进行配置,如下:<ResourceParams name="jdbc/java">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>password</name>
<value>111111</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.1.204:1521:julang</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>username</name>
<value>netid</value>
</parameter>
</ResourceParams>
而在5.5版本以后,连接池的配置是通过context.xml开始加载的,配置如下:
(1)<Resource name="jdbc/java"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.1.204:1521:julang"
password="111111"
maxIdle="2"
maxWait="5000"
username="netid"
url="jdbc:oracle:thin://@192.168.1.204:1521/julang"
maxActive="4"/>
(2)在server.xml中同样写入(1)中的resource,但要在context.xml中进行resourcelink配置:<ResourceLink name="jdbc/java" global="jdbc/java" type="javax.sql.DataSource"/>
(1)、(2)效果是一样的!
对于连接池的启动、连接,是通过Context类为起步,去查找对应的jndiName,所以后面版本改为在context.xml中配置。
Context initCtx = new InitialContext();
DataSource ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/java");
log.debug("in the commonController---ds===="+ds);
if(ds != null){
log.debug("获得dataSorce成功");
}
Connection conn = ds.getConnection();
log.debug("in he commonController---connection===="+conn.getCatalog());
xml中配置:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/java"/>
<property name="resourceRef" value="true"/>
</bean>
Web.xml中配置:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/java</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>