會員註冊 / 登入  |  電腦版  |  Jump to bottom of page

JForum中文社群 JForum Chinese Users Community » JForum 改用 DataSource 連線資料庫

發表人: andowson, 七段學員
2008-03-08 01:37:04
1.編輯server.xml,加入<Resource>到<Context>

<Context path="" docBase="webapps/forum.mycompany.com" debug="0" reloadable="false">
<Resource name="jdbc/JForumDB" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@(description=(ENABLE=BROKEN)(load_balance=on)(FAILOVER_MODE=(RETRIES=20)(DELAY=15))(address=(protocol=tcp)(host=LISTENER_DB1)(port=1521))(address=(protocol=tcp)(host=LISTENER_DB2)(port=1521))(connect_data=(service_name=racdb)))"
username="jforum" password="jforum" maxActive="100" maxIdle="1"
maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="60"
logAbandoned="true"/>
</Context>


其中LISTENER_DB1和LISTENER_DB2已經在/etc/hosts設定好對應到兩部資料庫的主機IP。

2.編輯WEB-INF/web.xml,加入<resource-ref>:

<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/JForumDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>


3.修改WEB-INF/config/jforum-custom.conf,將database.connection.implementation改為net.jforum.DataSourceConnection,並加入database.datasource.name這個key,並設定其值為java:/comp/env/jdbc/JForumDB。接著我們可以把其他database開頭的資料庫連線相關設定key一併刪除,完成後看起來就像下面的樣子:

...
dao.driver=net.jforum.dao.oracle.OracleDataAccessDriver
database.connection.implementation=net.jforum.DataSourceConnection
database.datasource.name=java:/comp/env/jdbc/JForumDB
database.driver.name=oracle
database.support.autokeys=false
database.support.subqueries=true
...


4.複製WEB-INF/lib/下的資料庫JDBC Driver到Tomcat的common/lib下,例如ojdbc14.jar。

5.重新啟動Tomcat

6.連線到討論區網站首頁,如果正常顯示即OK。

參考資料:
http://www.jforum.net/posts/list/1363.page
http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html




會員註冊 / 登入  |  電腦版  |  Jump to top of page