当前位置: 首页 > 知识库问答 >
问题:

OracleDataSource、OracleUCP、Commons DBCP和Tomcat连接池之间的区别?

傅玮
2023-03-14

我读了一些关于Stackoverflow、mkong和Tomcat JDBC池官方文档的链接。我太困惑了。

需要注意的要点:

1) 我知道Oracle通用连接池是一个新概念,不稳定。在此链接中,此人询问OracleDataSource(请注意)链接1

2)所以让我们说UCP是完全不同的。现在Mkong(尊重)有这个教程可用。链接2

3) Tomcat的官方文档链接3上有这个链接

OracleDataSource和Commons DBCP之间有什么区别?是否类似于我们使用Commons DBCP配置OracleDataSource

MKYONG使用哪种数据源池配置方法

什么是Tomcat JDBC连接池?链接4

共有2个答案

秦安宁
2023-03-14

UCP(通用连接池)自11.1.0.7以来一直存在。UCP与RAC、RAC One和ADG是处理数据库故障转移的经过测试和认证的组合。有关UCP的更多详细信息,请参阅UCP开发人员指南。

阳昊
2023-03-14

您需要阅读更多最新的文档。

UCP既不是新的也不是不稳定的。

OracleDataSource是您从Java连接到Oracle数据库的方式。

Commons DBCP是一个数据库连接池。

是的,您可以使用Commons DBCP来汇集来自OracleDataSource的连接。

MKYOUNG正在使用Commons DBCP。Tomcat自动为所有数据源使用Commons DBCP。

TomcatJDBC是连接池的替代品。与Commons DBCP 1相比,它在多线程环境中具有显著的优势。x、 与Commons DBCP 2相比。差异要小得多。在这两者之间,我推荐Commons DBCP 2。默认情况下为x-它似乎更积极地维护。

 类似资料:
  • null 我知道web HTTP请求配置在大多数情况下与数据库池配置无关,但是对于属性之间的比例(maxthreads/acceptcount、maxActive)是否有常见的情况/实践?例如。HTTP maxThreads比DB maxActive大是一种常见的做法吗(但是根据我们的示例,认为100%大是太多了--可以假设20%或50%的最大值?),假设我们有一个更大的值的accpetCount

  • null 如果我理解正确的话,我们应该在启动时有1个空闲连接,根据负载从0到3,对吗? 正在发生的情况是:启动时1个连接,如果负载较低,最多3个空闲连接,高负载后超过3个空闲连接。然后这些连接不会立即关闭,我们不知道它们何时/是否会关闭(有时它们中的一些会关闭)。 所以问题是:这种行为正常吗? DAO子类的使用示例:

  • 我需要知道我对上面的理解是否正确。 在连接池中,可以使用java.sql.DataSource设置多个连接。 在jdbc中,我们直接指定连接url和oracle.jdbc.driver.OracleDriver并且它总是一个连接,另一个请求必须等待到连接完成处理。 使用JNDI与直接jdbc类似,我们通过名称引用jdbc设置,这样我们就可以在应用服务器中指定连接url和其他设置,而不是将它们绑定到

  • 这是我目前的配置 这是在全局上下文中,因此多个应用程序可以使用它。我对parameters.need一些细节有点困惑。我理解的是 池启动时创建的连接数。 一次最多可以激活50个连接。 10个连接在未使用连接时保持空闲,其他连接在 20个连接可以存储为空闲。 但当我启动tomcat服务器时,我可以看到30个空闲连接,这些连接将永远存在。为什么会这样?我错过什么了吗?根据我对连接池的理解,应该只创建1

  • 我一直在读这个和这个。读完后,我发现自己现在对我的基础知识非常困惑。请帮助我,因为它涉及到网络和JSP的基础知识 考虑这个假设的情况: 如果我打开一些www.xyz。com在某个浏览器上,一天之内不要在该页面上做任何事情。 问题1:如果第二天我从该页面请求一些内容,这是否意味着相同的连接仍然存在。考虑到联系:保持活力是存在的。 问题2.会话在这种情况下是如何工作的?我发现,如果会话过期,连接也会过

  • 我在项目中使用ApacheTomcat JDBC连接池。我很困惑,因为在重负下,我一直看到以下错误: 我的期望是,使用池,新连接的请求将被保留在队列中,直到连接可用。相反,当池达到容量时,请求似乎会被拒绝。这种行为可以改变吗? 谢谢, 达尔 这是我的池配置: