Jboss遷移到Tomcat之手記(三)-JDBC

首先,Data source能夠作爲Resource(JDNI方式)能夠在$TOMCAT_HOME/conf/context.xmlserver.xmlGlobalNamingResources元素裏配置成全局資源或$project.war/META-INF/conext.xml配置成應用級資源,而後在web application context配置該JNDI, 如(假設JNDI名字爲/jdbc/my-ds):
(context.xml)
<Context>
     <Resource name="jdbc/my-ds" auth="Container" type="javax.sql.DataSource"
     maxActive="80" maxIdle="50" maxWait="10000"
     username="aaaa" password="****" driverClassName="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/DBNAME" />
</Context>
(appcontext.xml)
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
    <property name="jndiName" value="java:comp/env/jdbc/my-ds"/>   
</bean>
也能夠集成如spring框架直接配成bean。由於以前jboss就用了spring, 因此仍是用spring bean來配置一個Apache common DBCP實例。
(Mysql, oracle只須要改driveroracle.jdbc.driver.OracleDriver, urlconnection string(jdbc:oracle:thin:@$TNSNAME 或者jdbc:oracle:thin:@$TNSSTRING, username, password)
<?xml version=」1.0」 encoding=」utf-8」 ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
        <bean id="my-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
     <property name="driverClassName" value=」com.mysql.jdbc.Driver」 />
    <property name="url" value=」jdbc:mysql://localhost:3306/DBNAME」 />
     <property name="username" value=」aaaa」 />
    <property name="password" value=」***」 / >
    <property name="maxActive" value=」80」 />
    <property name="maxIdle" value=」50」 />
 </bean>
</beans>
如此的配置在Jboss/Tomcat上都是能夠成功的,不過據http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html 裏說到,Common DBCP是單線程模式的,複雜的(60+ classes),緩慢的方式了,Apache基金組織已經改寫了變成Tomcat JDBC Connection Pool組件。Tomcat JDBC CPspring配置以下(須要tomcat-jdbc.jar複製到project.war/WEB-INF/lib裏,固然若是配置成global resource則須要放在$TOMCAT_HOME/lib裏,該文件在build tomcat時能夠獲得):
<?xml version=」1.0」 encoding=」utf-8」 ?>
<!-- !DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" http://www.springframework.org/dtd/spring-beans.dtd   舊版本用法,再也不支持-->
<beans  xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
             http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/context                           http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<bean id="my-ds" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close"
p:driverClassName="com.mysql.jdbc.Driver"
        p:url="jdbc:mysql://localhost:3306/DBNAME"
        p:username="aaaa"
        p:password="****"
        p:initialSize="10"
        p:minIdle="10"
        p:maxIdle="50"
        p:maxActive="80"
        p:maxWait="10000"
        p:jmxEnabled="true"
/>
相關文章
相關標籤/搜索