gpt4 book ai didi

java - WEB-INF/context.xml 或 TOMCAT_HOME/conf/server.xml 下的 Tomcat 连接池?

转载 作者:行者123 更新时间:2023-11-28 22:04:28 25 4
gpt4 key购买 nike

这是我第一次尝试在 tomcat(版本 8)中设置连接池,我有点困惑。看来我有 2 个选项可供选择,1) 我可以添加类似于此的内容:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<!-- Specify a JDBC datasource for oracle -->
<Resource name="jdbc/testdb"
auth="Container"
type="javax.sql.DataSource"
username="DB_USERNAME"
password="DB_PASSWORD"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@xxx:1525:dbname"
maxActive="10"
maxIdle="4" />
</Context>

在我的项目 WEB-INF 文件夹中名为“context.xml”的文件中。 , 2) 我可以添加如下内容:

<Context path="/dbcp" docBase="dbcp" debug="5"
reloadable="true" crossContext="true">

<Resource name="jdbc/TestDB" auth="Container"
type="javax.sql.DataSource" removeAbandoned="true"
removeAbandonedTimeout="30" maxActive="100"
maxIdle="30" maxWait="10000" username="kunal"
password="java_facier"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/dbcptest"/>

</Context>

在 TOMCAT_HOME/conf/sever.xml 然后添加:

<resource-ref>
<description> DB Connection Pooling</description>
<res-ref-name> jdbc/TestDB</res-ref-name>
<res-type> javax.sql.DataSource</res-type>
<res-auth> Container</res-auth>
</resource-ref>

到我项目中的 WEB-INF/web.xml 文件...

如果我在这两种情况下都是正确的,那么使用哪一种更好?另外,我应该把我的数据库供应商 jdbc-driver 放在哪里?

最佳答案

将 JDBC 库放入 $tomcat/lib 文件夹,这样 webapp 重新加载就不会触及它。我发现这是最好的通用规则,甚至是官方的 Apache Tomcat documentation指示 $CATALINA_HOME/lib 文件夹,所以请遵循他们的智慧。

$tomcat/webapps/mywebapp/META-INF/context.xml
这为您提供了一个应用程序级池。您有两个或多个连接到同一数据库的 Web 应用程序,每个应用程序都有自己的池。这意味着他们遵守自己的私有(private)最大限制和此类仪表。分发和安装 mywebapp.war 文件很容易,这是一个独立的应用程序。

$tomcat/conf/server.xml
这提供了一个全局池,其中两个或多个 Web 应用程序共享相同的最大限制和此类计量器。如果您必须控制打开到数据库引擎的连接总数,那么您应该在此处放置 jdbc 设置。 Tomcat 管理员必须在部署 Web 应用程序之前进行此设置。

编辑:哦,我看到你把 jdbc 设置放在 <Context> 里面了server.xml 文件中的元素。好吧,在那种情况下,我认为它仍然是一个 webapp-private 池。如果您需要全局池,请将其添加到 <GlobalNamingResources> 中xml 文件顶部的元素。

关于java - WEB-INF/context.xml 或 TOMCAT_HOME/conf/server.xml 下的 Tomcat 连接池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24626948/

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