gpt4 book ai didi

java - Tomcat JDBC 连接池是否在实例之间共享?

转载 作者:搜寻专家 更新时间:2023-10-31 19:36:24 25 4
gpt4 key购买 nike

我们现在有一个 Web 应用程序,我们为每个客户端部署了一个副本。我们当前的部署策略是为每个实例创建一个唯一命名的 jdbc 连接池。所以说 jdbc/客户端。它们是这样指定的...

< Context path="/"
reloadable="true"
docBase="\home\client\ROOT"
debug="5" >
< Resource name="jdbc/client"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
validationQuery="SELECT 1"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="300000"
numTestsPerEvictionRun="6"
minEvictableIdleTimeMillis="1800000"
maxWait="10000"
username="user"
password="pass"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://databaseserver:3306/client ?zeroDateTimeBehavior=convertToNull&amp;jdbcCompliantTruncation=false"/>
< /Context>

问题是,如果我要对其进行标准化,以便在所有已部署实例上将连接池称为 jdbc/database 而不是唯一名称,是否有可能发生数据库交叉,即一个客户在另一个客户的数据库中,或者是这些本地化到特定的部署实例?

想法?谢谢,斯科特

最佳答案

没有。数据源名称的范围是一个 Tomcat 实例。

如果您为每个客户启动一个单独的 Tomcat 进程,那么重要的是数据源的配置方式,而不是 Tomcat 调用它的方式。只要将每个数据源配置为使用不同的数据库,就不会有任何串扰。

关于java - Tomcat JDBC 连接池是否在实例之间共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1341756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com