我通過Postgres JDBC驅動程序使用Java 1.7和Postgres。數據庫連接將從Web服務中使用。在測試中,我得到以下錯誤:超過Java Postgres連接限制
FATAL: connection limit exceeded for non-superusers
我解決了錯誤,使我的連接靜態,並且只創建一次。我的問題是,靜態連接是否安全?這是正確的方法嗎?
我使用通過連接工廠,看起來像這樣的連接:
public class ConnectionFactory
{
String driverClassName = "org.postgresql.Driver";
String connectionUrl = "jdbc:postgresql://localhost:5432/dbName";
String dbUser = "user";
String dbPwd = "password";
private static ConnectionFactory connectionFactory = null;
private static Connection conn = null;
private ConnectionFactory()
{
try
{
Class.forName(driverClassName);
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
}
public Connection getConnection() throws SQLException
{
if (conn == null)
{
conn = DriverManager.getConnection(connectionUrl, dbUser, dbPwd);
}
return conn;
}
public static ConnectionFactory getInstance()
{
if (connectionFactory == null)
{
connectionFactory = new ConnectionFactory();
}
return connectionFactory;
}
}
我認爲這是不正確的。看起來連接是線程安全的,但是,塊。 – 2013-03-05 00:41:49