【发布时间】:2013-08-28 18:07:31
【问题描述】:
我遇到了这个面试问题:您将如何管理数据库连接池?
我的想法是:
我将创建一个ArrayBlockingQueue<Connection>, 创建连接对象,并在ajvm 启动时将它们放入队列中。然后用某种形式的枚举单例包装它,这样只有一个这样的队列,并且它在 JVM 的生命周期内保持活动状态。
然后使用某种实用程序/驱动程序类从队列中获取连接并将它们返回到队列。
我在想我还需要对此说些什么?我是否需要使队列线程安全,以便多个请求不具有相同的连接?
【问题讨论】:
-
你应该有一个线程来监视数据库连接(它们是否关闭并打开新连接)
-
实用程序/驱动程序类是什么意思?