首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过tomcat8.5连接到Oracle8的选项

通过tomcat8.5连接到Oracle8的选项
EN

Stack Overflow用户
提问于 2021-03-17 11:23:12
回答 1查看 204关注 0票数 1

我正在使用jdk 8.261编译Tomcat8.5.40上的war,我需要用ojdb8-19.3.0.0驱动程序连接到Oracle。将有更多的战争连接到同一个数据库。

AFAIK和文档中有两种实现连接的主要方法:

由于我关心连接的性能,我将使用连接池。我的问题是:

在性能方面都是相同的

我只是在想,如果使用上下文,tomcat是否能更好地管理池,特别是在多次战争时。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-18 10:27:41

在代码中配置数据源而不是在JNDI中配置数据源有几个缺点:

  • 您将介绍代码对tomcat-jdbc的依赖关系和该库的特定版本。这意味着,您的应用程序将只在Tomcat的特定版本上工作。
  • 您将失去应用程序之间连接池的优势:如果以编程方式创建数据源,每个应用程序都将拥有自己的连接池。另一方面,通过使用JNDI,您可以决定是每个应用程序创建一个数据源,还是共享一个全局数据源(参见上下文与GlobalNamingResources)。 如果使用全局数据源,则所有应用程序都可以使用池中的空闲连接,因此需要打开到数据库的新TCP/IP连接的频率较低(建立新TCP/IP连接的时间成本约为毫秒,因此相对较高)。

GlobalNamingResources实例

server.xml中配置数据源

代码语言:javascript
复制
<GlobalNamingResources>
    <Resource auth="Container"
              type="javax.sql.DataSource"
              name="jdbc/globalDb"
              username="username"
              password="secret"
              url="jdbc:..." />
    ...
</GlobalNamingResources>

在上下文文件中添加一个<ResourceLink>

代码语言:javascript
复制
<Context>
    <ResourceLink name="jdbc/db"
                  global="jdbc/globalDb"
                  type="javax.sql.DataSource" />
    ...
</Context>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66672094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档