【发布时间】:2020-11-21 01:47:34
【问题描述】:
我需要知道为什么我们需要一个独立应用程序的连接池。据我所知,一个独立的应用程序只需要一个数据库连接实例。这就是我们在使用 JDBC 创建连接对象时使用单例模式的原因。那么独立应用程序的连接池有什么用呢?如果我使用连接池,是否需要将最大大小指定为 1?这里我尝试使用带有原生 Hibernate 的 CP30 连接池。
【问题讨论】:
-
你能描述一下这个独立的应用程序应该做什么吗?我可以想象它可以与多个线程(工作者)一起工作,而且你肯定需要一个连接池。如果您使用 CP30 连接池,请使用默认设置,直到您意识到它不适合您。
-
不,它只有一个用户@TraychoIvanov
-
即使您只有一个用户,它也可能需要多次访问数据库,这意味着更好地重用池中的连接。我会推荐使用它。创建新连接是非常昂贵的操作,而使用池您可以直接获得它并减少工作量。
-
不会重新创建连接对象,因为单例模式@TraychoIvanov
-
好吧,在这种情况下,您必须自己管理创建、关闭连接、处理数据库连接中断等。如果您的应用程序刚刚执行并结束,那很好,否则我将使用大小为 1 的池. 如果您认为池是开销,请不要使用它:)
标签: java hibernate jdbc connection-pooling