Foros del Web » Programación para mayores de 30 ;) » Java »

Duda sobre integración de pool de conexiones

Estas en el tema de Duda sobre integración de pool de conexiones en el foro de Java en Foros del Web. Hola, soy nuevo en el tema de las Pool de conexiones y necesito ayuda. Tras leer este artículo: http://www.chuidiang.com/java/mysql/...Conexiones.php lo entiendo todo perfectamente, pero no ...
  #1 (permalink)  
Antiguo 20/04/2011, 07:16
Avatar de sfx4ever  
Fecha de Ingreso: noviembre-2003
Ubicación: aqui
Mensajes: 384
Antigüedad: 21 años
Puntos: 2
Pregunta Duda sobre integración de pool de conexiones

Hola, soy nuevo en el tema de las Pool de conexiones y necesito ayuda. Tras leer este artículo:
http://www.chuidiang.com/java/mysql/...Conexiones.php

lo entiendo todo perfectamente, pero no tengo claro como integrarlo con mi programa, un servidor de sockets que abre un hilo por cada conexión entrante y aparte otro hilo paralelo principal que hace como unas 30-50 consultas UPDATE cada 5 segs.

Este es el código:


Código PHP:
public class servidorES
{
          
    
// punto de entrada a nuestro programa
    
public static void main(String [] array)    
    {
     
        
//cargar el driver de mysql
        
try    {
           Class.
forName("org.gjt.mm.mysql.Driver");
        } 
        catch (
Exception e)    {
            
System.out.println("Error1: "+e);
           
e.printStackTrace();
        }

       
        
//arranca el hilo principal
        
PnjIAES pnjia = new PnjIAES();
        
pnjia.start();

        
servidorES instancia = new servidorES(array);    
        
instancia.arranca();
    }
        
    
    
boolean arranca()
    {
         
        try
        {
            
            
ServerSocket s = new ServerSocket(puerto);

            
depura("Esperando conexion...");
            
            while(
true)  // bucle infinito .... 
            
{
                
Socket entrante s.accept();
                
peticionES pCliente = new peticionES(entrante);
                
pCliente.start();
            }
            
        }
        catch(
Exception e)
        {
            
depura("Error en servidor\n" e.toString());
        }
        
        return 
true;
    }
    
}



class 
PnjIAES extends Thread
{

 public 
PnjIAES(){ 
        
DEBUG 2;
        
dormir=5000;
        
//inicializar variables
        //....
 
}

 
public 
void run(){ //iniciar hilo

    
try{

            
conexion DriverManager.getConnection (dbhost,dbuserdbpass);
           
            
conexion.createStatement();
           
            while(
true){
                
//hacer consultas aqui, unas 30-50 UPDATE por cada 5 segundos

                //dormir xx segundos
                
try{
                    
sleep(dormir);
                }catch(
Exception e){
                    
depura("exc:"+e.toString());
                    
e.printStackTrace();
                }
            }

         }catch(
Exception e){
            
System.out.println("e2: "+e.toString());
            
e.printStackTrace();
        }
}
//run

}


class 
peticionES extends Thread
{

      private 
Socket scliente     null;      
       
peticionES(Socket ps)
       {             
        
        
scliente ps;
       
       }
    
 public 
void run() // implementamos el metodo run
    
{

    
depura("Procesamos conexion");

    
        
// Establecemos la conexion con la base de datos.
        
Connection conexion null;
        try{
              
conexion DriverManager.getConnection (dbhost,dbuserdbpass);


        }catch(
Exception e){
            
depura(e.toString());
        }


        
boolean conectado true;    

        do{ 
//bucle principal de cada hilo

            //varias consultas (de 1 a 5) de cualquier tipo (select,update) cada segundo

        
}while(conectado==true);
        
    }

¿alguna idea de donde declarar el dataSource, basicDataSource, etc y como accedo a ellos desde la clase PnjIAES o desde cada peticion?

GRACIAS

Etiquetas: conexiones, integración, pool
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.