【发布时间】:2009-04-09 16:13:04
【问题描述】:
我有一个在 Tomcat 中运行的简单 servlet。因为 servlet 连接到数据库,所以我需要使用连接池。但是,互联网上的所有示例都假设(开发人员)永远不会更改 servlet 连接的数据库。
例如,这里是一个示例 context.xml 文件。
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/feeds">
<Resource name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
username="username"
password="password"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://example.com:1234/myDB"
maxWait="1000"
removeAbandoned="true"
maxActive="30"
maxIdle="10"
removeAbandonedTimeout="60"
logAbandoned="true"/>
</Context>
在我的例子中,我有一个测试服务器 (postgresql) 和一个生产服务器 (ms sql),所以所有假设我可以在 context.xml 中硬编码设置的教程都行不通。
我有 2 个用于数据库 url、身份验证等的不同属性文件,一个用于测试服务器,一个用于生产服务器,效果很好,但是现在如果我想使用连接池,我该怎么做将其集成到我的 servlet 中?
我希望能够在 Netbeans 6.5 中点击“构建”,将战争放在 dist 目录中,并将其放入任一服务器的 tomcat 应用程序目录中,而不必在新战争结束后四处更改 xml 文件被部署。 servlet 知道在每个系统上从哪里获取属性文件,所以如果我可以将属性文件与连接池属性集成,我就可以准备就绪了。
有什么想法吗...?
【问题讨论】:
标签: tomcat dynamic connection-pooling