对于数据库的配置,我们可以放到程序的xml配置文件当中。但这样发布的时候就带来了麻烦,从dev发布到product当中就需要修改配置文件,带来管理的繁琐。
比较好的方式就是采用tomcat提供的JNDI数据源的方式,来配置数据源,使用自身提供的DBCP数据库连接池,在不同的版本迁移当中还不需要对配置文件进行修改,非常方便。
http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html
此外,数据源也可以在server.xml的<GlobalNamingResources>当中配置,
<Resource name="jdbc/test" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver" username="adm"
password="adm" maxIdle="2" maxWait="5000"
validationQuery="select 1"
url="jdbc:mysql://localhost:23306/test?useEncoding=UTF-8"
maxActive="4" />
在Catalina/localhost/<context>.xml当中进行引用:
<Context path="/test"
docBase="/test">
<ResourceLink name="jdbc/test" global="jdbc/test"
type="javax.sql.DataSource" />
</Context>
Resource的配置根据factory寻找合适的类构造DataSource,默认使用dbcp的BasicDataSourceFactory。它的构造函数有Properties用来传递配置参数,这些都在<Resource>标签当中声明,比如url,username, password等。