什么是连接池?为什么默认的连接池不适合生产?有人可以详细说明吗?
连接池是一种打开/准备/关闭连接的技术。连接池机制是软件(组件)的一部分,您可以在其中委派管理连接的功能。您的应用程序只会请求一个连接,使用它,然后将其传递回池中。该组件负责打开N个连接,并在您的应用程序要求时为它们准备就绪。如果连接陈旧,则池化机制将关闭该连接并重新打开一个新连接。这代表了连接的一种更好的用法,因为您无需在代码的实际执行过程中等待连接的建立,也不必担心过时的连接。
Hibernate实际上并没有提供任何真正的连接池机制。它提供了一个非常基本的内部连接管理器。原因很简单:默认情况下,几乎(如果不是全部)应用程序服务器(如JBoss AS)和Servlet容器(如Tomcat)提供连接池机制。因此,您的应用程序不必担心有关它的细节。它只是要求AS建立连接。
我认为,只有两种情况需要担心连接池:
但是以我的经验,大多数使用“外部”连接池的人都是这样做的,因为他们缺乏对连接池的了解 ,也 缺乏对容器的了解。