這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)tomcat/resin中怎么利用全局?jǐn)?shù)據(jù)庫(kù)連接池資源,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Tomcat使用JNDI Resource來(lái)配置各種資源,包括數(shù)據(jù)庫(kù)連接池。這些Resource有兩種運(yùn)行范圍,第一個(gè)就是Context級(jí)別,也就是說(shuō)Context特有的Resource,該Resource只能被其所屬的Context訪問(wèn),顯然這不是我們所要的。
另外一種就是定義全局命名資源,然后在Context中進(jìn)行引用,下面是一個(gè)配置的例子(server.xml):
<Server port="8005" shutdown="SHUTDOWN">
<GlobalNamingResources>
<!-- 全局有效的JDBC資源 -->
<Resource name="jdbc/dlog" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" defaultTransactionIsolation="1" defaultAutoCommit="false"
poolPreparedStatements="true" maxOpenPreparedStatements="1000" initialSize="1"
username="root" password="root" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/dlogcn?autoReconnect=true"/>
</GlobalNamingResources>
<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps">
<Context path="" docBase="C:/PROJECTS/JAVA/DLOG4J_V3/webapp" reloadable="true">
<!-- 在Context引用全局JDBC資源 -->
<ResourceLink name="jdbc/dlog" global="jdbc/dlog"/>
</Context>
</Host>
</Engine>
</Service>
</Server>
相比較Tomcat來(lái)說(shuō),Resin更為簡(jiǎn)單,在Resin2中連接池的配置如下
<caucho.com>
<http-server>
<http port='80'/>
<servlet-mapping url-pattern='*.xtp' servlet-name='xtp'/>
<servlet-mapping url-pattern='*.jsp' servlet-name='jsp'/>
<resource-ref res-ref-name="java:/comp/env/jdbc/dlog" res-type="javax.sql.DataSource">
<init-param driver-name="com.mysql.jdbc.Driver"/>
<init-param url="jdbc:mysql://localhost:3306/dlogcn?autoReconnect=true"/>
<init-param user="root"/>
<init-param password="moabc"/>
<init-param maxConnections="100"/>
</resource-ref>
<!-- default host if no other host matches -->
<host id=''>
<web-app id='' app-dir='C:/PROJECTS/JAVA/DLOG4J_V3/webapp' />
</host>
</http-server>
</caucho.com>
你可以把這段配置放在web-app中,則該連接池只有對(duì)應(yīng)的webapp才能訪問(wèn),放在<host>則,host中的所有web-app都可以訪問(wèn),放在<http-server>中,則整個(gè)resin的所有webapp都可以訪問(wèn)。
(實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn)resin2的文檔有誤,如果res-ref-name寫為jdbc/dlog,則webapp怎么都找不到這個(gè)資源,改成java:/comp/env/jdbc/dlog即可。)
接下來(lái)我們就可以在應(yīng)用中使用如下代碼來(lái)獲取連接池的DataSource實(shí)例
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/dlog");
其他的應(yīng)用服務(wù)器的配置可以按照這個(gè)思路參考它的手冊(cè)進(jìn)行配置。應(yīng)該說(shuō)不管是采用何種方式,性能上不會(huì)有太大的區(qū)別,如何選擇就在于你整個(gè)服務(wù)器的項(xiàng)目結(jié)構(gòu)。
上述就是小編為大家分享的tomcat/resin中怎么利用全局?jǐn)?shù)據(jù)庫(kù)連接池資源了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:tomcat/resin中怎么利用全局?jǐn)?shù)據(jù)庫(kù)連接池資源-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://aaarwkj.com/article30/johpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、App設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、App開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容