Pool de conexões

Boa tarde, tenho a seguinte classe para fazer conexão com os banco de dados.
Queria saber se isto pode ser considerado um pool de conexao:

package br.com.semente.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class FactoryConnection {
	
	public static Connection getMysqlConnection() throws SQLException{
		try{
			Class.forName("com.mysql.jdbc.Driver");			
                        System.out.println("Conectado ao MsSQL - Schema XXXX");
			return DriverManager.getConnection("jdbc:mysql://192.168.0.12/database","xxx","xxx");					
		}catch (ClassNotFoundException e) {
			// TODO: handle exception
			throw new SQLException(e.getMessage());
		}		
	}
	
	public static Connection getPostGreSQLConnection() throws SQLException{			
		try{
			Class.forName("org.postgres.Driver");			
                        System.out.println("Conectado ao MsSQL - Schema XXXX");
			return DriverManager.getConnection("jdbc:postgresql://192.168.0.12/database","xxx","xxx");			
		}catch (ClassNotFoundException e) {
			throw new SQLException(e.getMessage());
		}

	}
	public static Connection getMsSQLConnection() throws SQLException{			
		try{
			Class.forName("net.sourceforge.jtds.jdbc.Driver");			
                        System.out.println("Conectado ao MsSQL - Schema XXXX");
	                return DriverManager.getConnection("jdbc:jtds:sqlserver://192.168.0.12/database","xxx","xxxx");			
		}catch (ClassNotFoundException e) {
			throw new SQLException(e.getMessage());
		}
	}
}

Para instanciar, faço o seguinte, diretamento no construtor do DAO:

public class EntidadeJuridicaDAO implements DAO {
	 PreparedStatement ps;
	 Connection connEntidade;

	public EntidadeJuridicaDAO() throws SQLException {
		this.connEntidade = FactoryConnection.getMsSQLConnection();
	}

Tenho um main que insere em duas tables, ou seja, chama dois métodos insere de 2 DAO diferentes.
Como em cada DAO há um construtor com conexão, como no modelo acima. Aparece 2 mensagens na console, resultado do syso.
Agora minha dúvida é:

Isso que estou usando é um pool de conexão (singleton), ou cada chamada de um método DAO é uma conexão nova com o banco de dados?
[i]

Bem… de um modo geral, um pool de conexões trabalha com uma quantidade X de conexões abertas e a medida que a aplicação vai requisitando ele vai disponibilizando essas conexões.

No seu caso, ele está abrindo conexões novas com o banco. Portanto, não classificaria essa classe como um Pool de Conexões. Ela é só um Facade para abrir conexões com seu banco.

Pelo que eu entendi, você citou “Singleton” como uma referência a “Pool de Conexões”. Singleton é um patern utilizado para controlar a quantidade de instâncias de uma determinada classe em um sistema. Não tem nenhuma ligação direta com o Pool de Conexões.

Pra finalizar, não se esqueça de fechar suas conexões abertas!

Espero ter ajudado. Até.

Cada chamada aos métodos será uma nova conexão.

Para saber mais sobre pool de conexão:

http://www.devmedia.com.br/articles/viewcomp.asp?comp=4113&hl=
http://www.macoratti.net/net_cpoo.htm
http://www.antoniopassos.pro.br/blog/?p=88

Isso nem é singleton nem pool. É uma fábrica de conexões.

Ok, mas existe uma forma de melhorar minha fábrica de conexões, de modo que a cada chamada de método não seja criada uma nova conexão?
Acredito que isso melhoria a questão do desempenho.

[quote=amoreiraedu]Ok, mas existe uma forma de melhorar minha fábrica de conexões, de modo que a cada chamada de método não seja criada uma nova conexão?
Acredito que isso melhoria a questão do desempenho.[/quote]

sim, leia os links que o Rafael Carneiro postou cara…

Exatamente, pool de conexões já é um assunto batido há anos. Não é saudável você implementar o seu próprio quando existem TANTOS disponíveis por aí.