Home > Apache Apache Tomcat> - Database Connection Pooling

Apache Tomcat - Database Connection Pooling

Em Apache Tomcat que você pode fazer Database Connection Pooling onde no servidor irá gerenciar a nenhuma das ligações com o banco de dados. Neste artigo iremos aprender como podemos alcançar Database Connection Pooling usando Apache Tomcat.

Observação:
Aqui eu estou mostrando meu banco de dados MySQL como, os desenvolvedores podem conseguir o mesmo com qualquer outro Database Engine só têm de alterar o Database Connection String. Também estou criando um Web Application Context .

Database Connection Pooling é um processo de 2 etapas:
1) A adição de recursos de banco de dados no contexto de aplicativos Web
2) Obter / Leitura da conexão JDBC no Java

Adicionando recursos de banco de dados no contexto de aplicativos Web:
Eu suponho que você sabe como criar novos aplicativos no Contexto do Apache Tomcat, ainda não sei do que você pode passar por este artigo . Aqui precisamos adicionar uma etiqueta adicional chamado "recurso" dentro de tag de contexto.

  docBase = "/home/hitesh/test/web" reloadable = "true" > docBase "/test" = caminho "/home/hitesh/test/web" <Context reloadable = "true">          
           prefix = "localhost_test_log." suffix = ".txt" timestamp = "true" /> "org.apache.catalina.logger.FileLogger" = prefixo sufixo ".txt" "localhost_test_log." = = = timestamp className <logger "true" />          
           auth = "Container" type = "javax.sql.DataSource" username = "test" password = "test" driverClassName = "org.gjt.mm.mysql.Driver" url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&amp;characterEncoding=UTF-8&amp;autoReconnect=true" maxActive = "100" maxIdle = "30" /> <Nome do recurso = "teste / jdbc auth =" Container type = "javax.sql.DataSource username =" teste "password =" teste driverClassName = "org.gjt.mm.mysql.Driver" url = "jdbc : mysql: / / 127.0.0.1:3306 / test? useUnicode = true & characterEncoding = UTF-8 & AutoReconnect = true "maxActive =" 100 maxIdle = "30" />     
      </> Contexto 

Seu email:


Aqui se vê que eu tenha adicionado uma tag de recursos que contém todas as informações essenciais necessárias para se conectar ao banco de dados. Desenvolvedor tem que mudar o driverClassName e meter url eles estão usando outras Database Engine.

Obter / Leitura da conexão JDBC do Java:

 Um dois três quatro cinco seis sete oito nove 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 
  ; com.hiteshagrawal pacote;

 ; javax.naming importação .*;
 ; importação java.sql .*;
 ; javax.sql importação .*;
 ; import java.io. *;

 public class final ConnectionManager (
         null ; DataSource ds = null privado;

         público getDatabaseInstance ConnectionManager () (
            null ; Context ctx = null;
            null ; String datasource = null;
            is = null ; java. io. InputStream is = null;

            null != ds ) { if (null! = ds) (
                ds de retorno;
            )

            try (
                InitialContext ( ) ; ctx = new InitialContext ();
                null == ctx ) { if (null == ctx) (
                     ( "Context is null. Error in connecting to the datasource." ) ; throw new Exception ("O contexto é nulo. Erro na conexão com a fonte de dados.");
                )

	        . getResourceAsStream ( "jdbc" ) ; = é DbConnection. classes. getResourceAsStream ("jdbc");
	        is == null ) { if  == null) (
		  DataSource ) ctx. lookup ( "java:comp/env/jdbc/test" ) ; ds = (DataSource) ctx. lookup (java ": comp / env / jdbc / test");
	       { Else ()
		 String ( convertStreamToString ( is ) ) . trim ( ) ; datasource = new String (convertStreamToString (is)). trim ();
		 DataSource ) ctx. lookup ( datasource ) ; ds = (DataSource) ctx. datasource lookup ();
	      )
           ( Exception e ) { ) Catch (Exception e) (
	      ; e. printStackTrace ();
           )
           ds de retorno;	
       )

       getDatabaseConnection ( ) { público getDatabaseConnection Connection () (
	 null ; Connection con = null;
	 try (
	       ( ) ; con = ds. getConnection ();
	 ( Exception e ) { ) Catch (Exception e) (
	         ; e. printStackTrace ();
	 )
	 con retorno;
      )	

      convertStreamToString ( InputStream is ) { convertStreamToString private String (InputStream is) (
	 new BufferedReader ( new InputStreamReader ( is ) ) ; BufferedReader leitor = new BufferedReader (novo InputStreamReader (is));
	 StringBuilder ( ) ; StringBuilder StringBuilder sb = new ();
 	 null ; String linha = null;
	 try (
	      line = reader. readLine ( ) ) != null ) { while ((linha = leitor. readLine ())! = null) (
	          line + " \n " ) ; sb. append (linha + "\ n");
	      )  
         ( IOException e ) { ) Catch (IOException e) (
	      ; e. printStackTrace ();
	 { Finally ()
	     try (
	       ; é. close ();
	    ( IOException e ) { ) Catch (IOException e) (
	       ; e. printStackTrace ();
	    )
	 )
	 ( ) ; sb retorno. toString ();
      )
 ) 

Explicação Code:
getDatabaseInstance () função de pesquisa para o nome do recurso que você definiu no seu Web Application Context. Você também pode armazenar o mesmo em propriedades do arquivo ou dentro de WEB-INF da pasta.
getDatabaseConnection () função é responsável por obter ligação nova base de dados do pool.
convertStreamToString () irá converter o InputStream de String.

Custom Search


Artigos populares:

Compartilhe e Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • IndianPad
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Reddit
  • Add to favorites
  • PDF
  • Twitter
Tags: Categorias: Apache Tags: