Olá
Creio que esse exemplo que você citou sempre retorna uma nova conexão. Para pegar uma já existente, você precisa usar um pool.
Tenho uma dúvida parecida com a sua: quando utilizamos uma implementação de DataSource (por exemplo, SQLServerDataSource) para obter uma conexão, esta conexão é “pooled”?
public static Connection getConnection()throws SQLException{
Connection con = null;
try {
initDataSource(); // se der exceção a fonte não existe
if(con==null || con.isClosed()){
con = dataSource.getConnection();
}
} catch (NamingException e) {
System.out.println("ERROR: O nome JNDI " + FONTE + ". Não foi encontrado!");
}
return con;
}
private static void initDataSource()throws NamingException{
InitialContext ic = new InitialContext();
if(dataSource==null)
dataSource = (DataSource) ic.lookup("java:comp/env/" + FONTE);
}
Até onde eu sei é assim que funciona…pelo menos no Tomcat
public static Connection getConnection()throws SQLException{
Connection con = null;
try {
initDataSource(); // se der exceção a fonte não existe
if(con==null || con.isClosed()){
con = dataSource.getConnection();
}
} catch (NamingException e) {
System.out.println("ERROR: O nome JNDI " + FONTE + ". Não foi encontrado!");
}
return con;
}
private static void initDataSource()throws NamingException{
InitialContext ic = new InitialContext();
if(dataSource==null)
dataSource = (DataSource) ic.lookup("java:comp/env/" + FONTE);
}
Até onde eu sei é assim que funciona…pelo menos no Tomcat
[]'s[/quote]
No seu exemplo eu tenho q usar no if isso aqui tb? con.isClosed()…só o con == null não esta bom?
[quote=eduacsp][quote=Giulliano]Ele sempre abre uma nova conexão.
public static Connection getConnection()throws SQLException{
Connection con = null;
try {
initDataSource(); // se der exceção a fonte não existe
if(con==null || con.isClosed()){
con = dataSource.getConnection();
}
} catch (NamingException e) {
System.out.println("ERROR: O nome JNDI " + FONTE + ". Não foi encontrado!");
}
return con;
}
private static void initDataSource()throws NamingException{
InitialContext ic = new InitialContext();
if(dataSource==null)
dataSource = (DataSource) ic.lookup("java:comp/env/" + FONTE);
}
Até onde eu sei é assim que funciona…pelo menos no Tomcat
[]'s[/quote]
No seu exemplo eu tenho q usar no if isso aqui tb? con.isClosed()…só o con == null não esta bom?[/quote]
no caso dele que sempre inicializa a conexão como null não precisaria, mas no meu sim