Esse tipo de singleton pode ser perigoso? A primeira vista não pareçe, pois todos que pedirem a conexao ela já estrará instanciada, então não precisara ir no banco pegar denovo.
Mas ai fica minha duvida... e se por acaso essa conexao ficar umas 20 horas aberta sem ninguem usar... quando alguem pedir a conexao denovo, ela pode ter caido por timeout ou algo assim.
Qual seria a melhor solução?
public class ConnectionJDBC {
private static Connection conn = null;
public static Connection getConnection() {
if (conn == null) {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/tabela", "root", "123");
} catch (Exception e) {
System.out.println(e);
e.printStackTrace();
}
}
return conn;
}
}