【发布时间】:2011-07-04 06:04:40
【问题描述】:
我写了一个单例类来获取数据库连接。
现在我的问题是:假设有 100 个用户访问该应用程序。如果一个用户关闭连接,其他99个用户的连接是否会关闭?
这是我的示例程序,它使用单例类来获取数据库连接:
public class GetConnection {
private GetConnection() { }
public Connection getConnection() {
Context ctx = new InitialContext();
DataSource ds = ctx.lookup("jndifordbconc");
Connection con = ds.getConnection();
return con;
}
public static GetConnection getInstancetoGetConnection () {
// which gives GetConnection class instance to call getConnection() on this .
}
}
请指导我。
【问题讨论】:
-
考虑使用连接池 (en.wikipedia.org/wiki/Connection_pool)。例如,DBCP (commons.apache.org/dbcp)。
-
@php 默认情况下,JNDI 数据源通常已经是连接池。
-
这样实现的,它不是一个单例。这大致是一种工厂方法。你想达到什么目的?
-
老实说,我认为这个问题与this one 重复,直到我更仔细地阅读它。建议修改标题以更好地反映这一点。
标签: java design-patterns jdbc