參考我的兩篇文章:配置MySQL DBCP
和an individual file at /META-INF/context.xml
1. Context configuration
配置JDNI資料來源到你的context中,這裡選擇在/META-INF/context.xm檔案中配置(如果應用程式採用war打包發布時,第一次運行此應用程式時,Tomcat會進行兩步操作:1. 複製 /META-INF/context.xml
到$CATALINA_BASE/conf/[enginename]/[hostname]/
;2. 變更檔名為應用程式上下文名)。
For example:
<?xml version="1.0" encoding="UTF-8"?><br /><Context path="/messageboard" reloadable="true"><br /><!-- 配置資料來源 --><br /><Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="100" maxIdle="30" maxWait="10000" name="jdbc/messageboard" password="xxx" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/messageboard?autoReconnect=true" username="xxx"/><br /></Context>
注意:/META-INF/context.xml中不需要docBase屬性
(參見Apache Tomcat Configuration Reference中的The Context Container章節)。
2. web.xml configuration
配置/WEB-INF/web.xml的<resource-ref>元素。
For example:
<resource-ref><br /> <description>MySQL DBCP</description><br /> <res-ref-name>jdbc/messageboard</res-ref-name><br /> <res-type>javax.sql.DataSource</res-type><br /> <res-auth>Container</res-auth><br /> </resource-ref>
經過以上配置後就可以使用JNDI Datasource了。