gpt4 book ai didi

Hibernate:什么是连接池?为什么默认连接池不适合生产?

转载 作者:行者123 更新时间:2023-12-03 07:40:29 24 4
gpt4 key购买 nike

我对 Hibernate 非常不熟悉,并且刚刚开始开发一个将其与 MySQL 数据库结合使用的 Web 应用程序。我注意到community documentation tutorial状态:

The built-in Hibernate connection pool is in no way intended for production use. It lacks several features found on any decent connection pool.

有人可以详细说明一下吗?它到底缺少什么?人们对“默认”的有什么问题?在谷歌搜索上我发现了一个网站here但它并没有真正解释问题,只是你应该使用什么。

最佳答案

What is the connection pool and why is the default one unsuitable for production? Can someone elaborate on this?

连接池是一种打开/准备/关闭连接的技术。连接池机制是一个软件(组件),您可以将管理连接的功能委托(delegate)给它。您的应用程序只会请求连接,使用它,然后将其传递回池。该组件负责打开 N 个连接,并让它们在应用程序要求时做好准备。如果连接失效,池机制将关闭它并重新打开一个新连接。这代表了对连接的更好利用,因为您不需要在代码的实际执行期间等待连接建立,并且不必担心过时的连接。

Hibernate 并没有真正提供任何真正的连接池机制。它提供了一个非常基本的内部连接管理器。原因很简单:几乎(如果不是全部)应用服务器(如 JBoss AS)和 Servlet 容器(如 Tomcat)默认提供连接池机制。因此,您的应用程序不必担心有关它的细节。它只是向 AS 请求连接。

在我看来,只有两种情况需要担心连接池:

  1. 您正在处理一个独立的应用程序(不在容器内运行)
  2. 您确实是连接池领域的专家,但现有的连接池均无法满足您的需求。

但根据我的经验,大多数使用“外部”连接池的人这样做是因为缺乏有关连接池的知识对其容器的了解。

关于Hibernate:什么是连接池?为什么默认连接池不适合生产?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4880577/

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