java jndi tcp_spring配置下通过tomcat的jndi服务连接数据库
在開發(fā)OA系統(tǒng)因?yàn)椴捎昧藄pring+hibernate架構(gòu),其中數(shù)據(jù)源很多,采用jdbc注入到spring中,結(jié)果時(shí)間長了,數(shù)據(jù)庫容易斷開,改成了jndi,jndi由spring去管理
1、配置jndi文件
文件位置
%TOMCAT_HOME% \conf\Catalina\localhost
文件名
webapp工程的名字.xml。如:若工程名為jndidemo,則文件取名為jndidemo.xml。一般情況下該文件會存在。如果不存在可手動創(chuàng)建
文件內(nèi)容應(yīng)該有如下格式:
name="jdbc/jndidemo1"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
password="efnx"
maxIdle="2"
maxWait="5000"
username="efnx"
url="jdbc:oracle:thin:@(description=(address_list=(address=(protocol=TCP)(port=1521)(host=192.168.0.240)))(connect_data=(SERVER = DEDICATED)(SERVICE_NAME = db.efriendnet.com)))"
maxActive="4"/>
根據(jù)具體需要修改相應(yīng)內(nèi)容。
2、Spring配置文件
在Spring配置文件中增加如下類似內(nèi)容
java:comp/env/jdbc/jndidemo1
3、持久化配置文件
對持久化層進(jìn)行依賴注入時(shí),給dataSource屬性注入jndiDataSource即可。如:
4、數(shù)據(jù)庫驅(qū)動
最后別忘了將相應(yīng)的數(shù)據(jù)庫驅(qū)動拷貝到%TOMCAT_HOME%\common\lib下
注意事項(xiàng):
根據(jù)tomcat版本不同,jndi配置文件的寫法存在差異。現(xiàn)給出說明:
版本:4.x
這個(gè)版本的配置文件一般都寫在%TOMCAT_HOME% \conf\server.xml文件中。因?yàn)楝F(xiàn)在基本都在用5.x版本,所以這里就不做詳細(xì)說明了。
版本:5.0.xx
這個(gè)版本將context的內(nèi)容獨(dú)立了出來放到了%TOMCAT_HOME% \conf\Catalina\localhost下,且不同的工程生成相應(yīng)的配置文件,但文件格式和4.x類似:如:
factory
org.apache.commons.dbcp.BasicDataSourceFactory
driverClassName
com.microsoft.jdbc.sqlserver.SQLServerDriver
url
jdbc:microsoft:sqlserver://59.151.17.254:1500;DatabaseName=YeeYoo_DB
username
crm
password
crmyeeyoo
maxWait
-1
maxActive
10
版本5.5.xx
該版本中給配置文件格式作了較大改動,使其更加簡潔。格式內(nèi)容如下:
name="jdbc/jndidemo"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
password="efnx"
maxIdle="2"
maxWait="5000"
username="efnx"
url="jdbc:oracle:thin:@(description=(address_list=(address=(protocol=TCP)(port=1521)(host=192.168.0.240)))(connect_data=(SERVER = DEDICATED)(SERVICE_NAME = db.efriendnet.com)))"
maxActive="4"/>
請根據(jù)不同版本編寫相應(yīng)格式的配置文件否則會出現(xiàn)各種各樣不同的問題。
總結(jié)
以上是生活随笔為你收集整理的java jndi tcp_spring配置下通过tomcat的jndi服务连接数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux文件编辑命令详细整理,Linu
- 下一篇: linux centos7 r安装,如何