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

Pool De Conexiones!!!!!ayuda

Estas en el tema de Pool De Conexiones!!!!!ayuda en el foro de Java en Foros del Web. Necesito Crear Un Pool De Conexiones En El Servidor Apache De Netbeans 5.5, Alguien Puede Ayudarme A Crear Una, Por Favor...
  #1 (permalink)  
Antiguo 20/02/2007, 14:08
 
Fecha de Ingreso: febrero-2007
Mensajes: 17
Antigüedad: 17 años, 2 meses
Puntos: 0
Pool De Conexiones!!!!!ayuda

Necesito Crear Un Pool De Conexiones En El Servidor Apache De Netbeans 5.5, Alguien Puede Ayudarme A Crear Una, Por Favor
  #2 (permalink)  
Antiguo 20/02/2007, 22:39
 
Fecha de Ingreso: julio-2006
Mensajes: 9
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Pool De Conexiones!!!!!ayuda

no amigo nunca pude hacer conexiones con el servidor integrado de netbeans.
pero lo que hice fue lo siguiente:

1)instalar tomcat 5.0.30
2)crear tu proyecto web
3)cambiar el proyecto para que corra desde al tomcat que le instalaste. si no sabes como te lo explico.
*seleccionar el proyecto en la ventana de PROJECT, darle click derecho
*te mostrara un menu , y le das click en PROPERTIES
*en la ventana de PROJECT PROPERTIES,seleccionar la opcion RUN
*Una vez que seleccionaste la opcion RUN, del lado derecho te aparecera la opcion de server , cambiar la version por la de TOMCAT 5(En este caso asi lo hago)
*guarda los cambios.
4)en el archivo WEB PAGES---->META-INF--->context.xml poner lo siguiente (cambia los parametros de acuerdo a los nombres de tu proyecto)

Cita:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="SSM" path="/SSM">
<!-- nombre del proyecto ruta de como se accesa al proyecto-->
<Resource auth="Container" name="jdbc/sig-tx" type="javax.sql.DataSource"/><!--nombre del recurso , esto lo ocupas en el web.xml-->
<ResourceParams name="jdbc/sig-tx">
<!--nombre del recurso , esto lo ocupas en el web.xml-->
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFact ory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDrive r</value><!--clase del driver-->
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
<parameter>
<name>username</name>
<value>miusername</value><!--NOMBRE DE USUARIO DE LA BASE DE DATOS-->
</parameter>
<parameter>
<name>password</name>
<value>passwordensecretp</value><!--PASSWORD DE LA BASE DE DATOS-->
</parameter>
<parameter>
<name>url</name> <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=sig-tx</value>
<!--IP, PUERTO , NOMBRE DE BASE DE DATOS-->

</parameter>
</ResourceParams>
</Context>

5)en el archivo WEB-INF---->web.xml rescatar referencias al context.xml, en mi caso quedaria asi

Cita:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns=""
xmlns:xsi=""
xsi:schemaLocation="" >

<resource-ref>
<description>Conexion a Base de Datos</description>
<res-ref-name>jdbc/sig-tx</res-ref-name><!--nombre del recurso puesto en el context.xml-->
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

</web-app>

6)testear tu conexion, este es un ejemplo que encontre en SAN GOOGLE:

Código PHP:
 import java.io.*;
import java.sql.*;
import javax.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;

public class 
poolBaseDatos extends HttpServlet 

{
    private 
DataSource fuenteDatos null;

    public 
void init(ServletConfig configthrows ServletException
    
{
        try
        {
            
// recuperamos el contexto inicial y la referencia a la fuente de datos
            
Context ctx = new InitialContext();
            
fuenteDatos = (DataSourcectx.lookup("java:comp/env/jdbc/sig-tx");
        }
        catch (
Exception e)
        {
            throw new 
ServletException("Imposible recuperar java:comp/env/jdbc/sig-tx",e);
        }
    }

    public 
void doGet(HttpServletRequest requestHttpServletResponse response)
    
throws ServletExceptionIOException
    
{
        
Connection con null// conexion parcial

        
response.setContentType("text/html");   // retornamos el tipo de respuesta
        
PrintWriter out response.getWriter();

        
out.println("Prueba del Pool de Objetos");
        
out.println("Buscamos tutorial con sentencias preparadas");

        try {

           
out.println("Probamos a recuperar conexión");

            
synchronized (fuenteDatos)
            {
                
con fuenteDatos.getConnection(); // cogemos la conexion
            
}

            if(
con == null)
            {
                
out.println("Error al recuperar la conexion, es nula");
                throw new 
ServletException("Problemas con la conexion");
            }

            
out.println("Preparamos la consulta");

            
PreparedStatement pstmt con.prepareStatement("SELECT * FROM tutoriales WHERE id < ?");
            
pstmt.setInt(1,10); // establecemos el entero
            
ResultSet results pstmt.executeQuery();

            while (
results.next())
            {
                
String id results.getString(1);
                
String titulo results.getString(2);
                
out.println("El titulo es " titulo " para id " id "");
            }
        }
        catch (
Exception e)
        {
            
out.println("Error al procesar consulta " e.getMessage());
        }
        
finally  // pase lo que pase retornamos la conexion
        
{
            try
            {
                
con.close();
            }
            catch (
Exception e)
            {
                
out.println("Error en proceso " e.getMessage());
            }
        }
        
out.println("-Fin-");  // cerramos la respuesta
         
out.close();  // Cerramos buffer
    
}



ARCHIVOS NECESARIOS, DEBEN DE ESTAR EN EL CLASSPATH DEL SERVIDOR(TOMCAT_HOME/common/lib) O DE LA APLICACION.

* driver de base de datos
* commons-collections.jar
* commons-dbcp-1.1.jar
* commons-pool-1.1.jar
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 09:28.