conhecimento pool de conexão de banco de dados

pool de conexão de banco de dados

       Qual é o pool de conexão do banco de dados?

       Em JDBC, e desligar cada vez que você criar um objeto de conexão irá consumir uma certa quantidade de tempo e recursos IO. Isso ocorre porque o programa java para estabelecer uma ligação entre o banco de dados, o lado do banco de dados para verificar o nome de usuário e senha, e para alocar recursos para este link, o programa java devem ser carregados na memória por conta de ligações entre objetos java.sql.Connection, etc. portanto, o estabelecimento de um link de banco de dados é caro, especialmente quando um grande número de acesso simultâneo, se visitas de um dia local é 100.000, em seguida, o servidor do site que você precisa para criar, desvincule 100.000 vezes, freqüentemente criar e off link de banco de dados aberto é obrigado a afetar a eficiência de acesso ao banco de dados, e pode até mesmo travar o banco de dados.

       Para evitar a criação de um link de banco de dados com frequência, os programadores têm proposto a tecnologia de banco de dados de conexão piscina. pool de conexão do banco de dados é responsável pela distribuição, gestão e liberação de links de banco de dados, que permite que um aplicativo para reutilização ligação banco de dados existente, em vez de re-estabelecer

       Legenda:

      

       gráfico:

              Como pode ser visto a partir da figura, o pool de conexão de banco de dados irá criar um link de banco de dados de inicialização de um certo número de conexões na piscina quando o programa aplicativo para acesso a banco de dados não é criado diretamente da conexão, mas o pool de conexão para "aplicar" uma conexão, conexão Se o pool de conexão tem livre, então ele é retornado, caso contrário, criar uma nova conexão. Após o uso, o pool de conexão de recuperação vontade Connection. E entregue a outros tópicos, a fim de reduzir o número de on e off para criar links de banco de dados, melhorar a eficiência de acesso ao banco.

 

DBCP fonte de dados

       DBCP pool de conexão de banco de dados (banco de dados Connection Pool) suma, no open source Apache pool de conexão para alcançar o tecido, Tomcat pool de conexão é usada pelo componente de servidor, quando utilizado fonte de dados DBCP sozinho, necessidade de importar dois pacote jar na aplicação

  1. commons-dbcp.jar
  2. commons-pool.jar

 

Exemplo código:

      

 

       código:

       classe pública testDemo {

 

       / *

        * Classe BasicDataSource BasicDataSource usando a classe para criar um objeto de fonte de dados, os dados de configuração valor da propriedade objeto de origem manual e, em seguida, obter um objeto de conexão.

        * /

 

       public static DataSource ds = null;

 

       estática {

              // Obter DBCP fonte de dados objeto classe de implementação

              BasicDataSource bds = novo BasicDataSource ();

              // definir as informações de configuração necessárias para conectar ao banco de dados

              bds.setDriverClassName ( "com.mysql.jdbc.Driver");

              bds.setUrl ( "jdbc: mysql: // localhost: 3306 / demonstração");

              bds.setUsername ( "raiz");

              bds.setPassword ( "123456");

 

              // número de conjunto de parâmetros de pool da conexão elos da inicialização do pool de conexão do banco de dados

              bds.setınitialsiz a (5);

              // determinado número de ligações maior pool de conexão do banco de dados ativo

              bds.setMaxActive (5);

              ds = bds;

 

       }

 

       public static void main (String [] args) throws SQLException {

 

              // Obter o objeto de link de banco de dados

              conexão conn = ds.getConnection ();

              // Obter o link de banco de dados informações

              DatabaseMetaData metaData = conn.getMetaData ();

              // link de banco de dados de informações de impressão

              System.out.printlnl (metaData.getURL ());

 

       }

 

}

 

       C3P0 fontes de dados

       C3P0 é um dos populares piscina mais conexão com o banco de código aberto, que implementa a interface DataSource para uma fonte de dados, e apoio JDBC2 JDBC3 de padrões, fácil expansão e desempenho superior, quadro bem conhecido de fonte aberta Hibernate e Spring são utilizados na fonte de dados. Ao desenvolver a fonte de dados usando C3P0, C3P0 necessidade de entender a classe implementação da interface ComboPooledDataSource DataSource, que é a classes principais C3P0, é fornecido um método de fonte de dados objetos relevantes

       Exemplo código:

       testDemo3 classe pública {

 

       public static DataSource ds = null;

 

       estática {

              ComboPooledDataSource CPDS = novo ComboPooledDataSource ();

              experimentar {

 

                     cpds.setDriverClass ( "com.mysql.jdbc.Driver");

                     cpds.setJdbcUrl ( "jdbc: mysql: // localhost: 3306 / demonstração");

                     cpds.setUser ( "raiz");

                     cpds.setPassword ( "123456");

 

                     cpds.setInitialPoolSize (5);

                     cpds.setMaxPoolSize (5);

 

                     ds = CPDS;

 

              } Catch (exceção e) {

                     // TODO: exceção punho

                     throw new ExceptionInInitializerError (e);

              }

       }

 

       / **

        * args @param

        * @Throws SQLException

        * /

       public static void main (String [] args) throws SQLException {

              // gerado Auto TODO stub método

              System.out.printlnl (ds.getConnection ());

       }

 

}

Publicado 40 artigos originais · ganhou elogios 7 · vê 10000 +

Acho que você gosta

Origin blog.csdn.net/sj_1993/article/details/105351167
Recomendado
Clasificación