更改 Tomcat 数据源池中的目录
Posted
技术标签:
【中文标题】更改 Tomcat 数据源池中的目录【英文标题】:Change catalog in Tomcat DataSource pool 【发布时间】:2016-03-31 14:09:36 【问题描述】:如何更改 Tomcat 数据源池中的数据库目录? 我试过了:
datasource.getConnection().setCatalog("newcatalog");
但它不起作用,可能是因为我没有更改所有连接的目录而不是新连接的目录。
【问题讨论】:
定义“不起作用”:您是否遇到异常,或者什么也没发生。也就是说,从连接池更改连接上的目录是一件冒险的事情。如果某些连接池实现不允许它,我不会感到惊讶。 只是不会改变目录。 【参考方案1】:根据官方 Tomcat 文档的JDBC Data Sources 部分,您可以在DataSource
的配置中使用defaultCatalog
参数。
例如:
<Resource name="jdbc/MyDatasourceName"
auth="Container"
type="javax.sql.DataSource"
username="dbusername"
password="dbpassword"
driverClassName="org.hsqldb.jdbc.JDBCDriver"
url="jdbc:hsqldb:myDatabase"
<!-- use the following catalog -->
defaultCatalog="newcatalog"
/>
有关可用属性的详细列表,请查看 Tomcat JDBC Connection Pool 文档的 Common Attributes 部分,该部分对 defaultCatalog
的描述如下:
defaultCatalog -- (String) 此池创建的连接的默认目录。
希望对你有帮助。
【讨论】:
好的,我会尝试,但我还需要一种方法来刷新所有已打开的连接,否则其中一些可能有旧目录以上是关于更改 Tomcat 数据源池中的目录的主要内容,如果未能解决你的问题,请参考以下文章
Tomcat数据源--DataSource&Connection Pool
org.apache.tomcat.util.bcel.classfile.ClassFormatException:常量池中的无效字节标记:15