[英]How to fix "Driver does not support get/set network timeout for connections" while connecting to oracle database from spring boot app?
[英]Multiple ORACLE DB connections created while running 1 spring boot app
我试图了解数据库连接和 spring 启动应用程序之间的相关性。 我的 spring 引导应用程序正在连接到一个模式,并且我正在我的系统上运行 4 个这样的 spring 引导应用程序。 每个应用程序都连接到不同的架构。 问题是这 4 个应用程序正在获取 50 个 oracle 数据库连接,但是当我关闭所有应用程序并通过 oracle sql 开发人员打开数据库时,只获得了一个连接。
我没有足够的代表发表评论。
默认情况下 Spring Boot 使用 HikariCP 作为连接池框架。 在 Baeldung 可以找到一些很好的信息,我建议使用它,因为它涵盖了很多 Spring 引导功能并且几乎总是最新的。
https://www.baeldung.com/hikaricp
Spring-boot具体信息:
https://www.baeldung.com/spring-boot-hikari
虽然根本不需要 10 个连接,但您可以“玩”多少最适合您的应用程序(或最优化),并将其设置为最适合您的设计。 通常这将通过在您的应用程序中出现需要时对其进行优化来完成。 10 是 spring/hikari 确定为大多数项目的良好起点。
由于我必须将此作为答案发布,因此我将在您的实际问题中更深入地介绍 go:
如果我们想到一个没有池的数据库连接,我们可以想到:
这在没有很多请求的小型应用程序中很好,但希望随着我们扩展并获得更多用户,您可以在这里看到问题。 删除前 3 个步骤可以产生巨大的差异。
还应该注意的是,当您的数据库拥有 3 个连接时,这些连接将处于空闲状态并且不会在您的数据库上产生太多(如果有的话)负载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.