Cold Flat Tall Snow Carolbar Multi Womens on Comfort Warm Yellow Weather Boots Deep Fashion Buckle Pull I7PxwvB7q Cold Flat Tall Snow Carolbar Multi Womens on Comfort Warm Yellow Weather Boots Deep Fashion Buckle Pull I7PxwvB7q Cold Flat Tall Snow Carolbar Multi Womens on Comfort Warm Yellow Weather Boots Deep Fashion Buckle Pull I7PxwvB7q Cold Flat Tall Snow Carolbar Multi Womens on Comfort Warm Yellow Weather Boots Deep Fashion Buckle Pull I7PxwvB7q Cold Flat Tall Snow Carolbar Multi Womens on Comfort Warm Yellow Weather Boots Deep Fashion Buckle Pull I7PxwvB7q Cold Flat Tall Snow Carolbar Multi Womens on Comfort Warm Yellow Weather Boots Deep Fashion Buckle Pull I7PxwvB7q

Cold Flat Tall Snow Carolbar Multi Womens on Comfort Warm Yellow Weather Boots Deep Fashion Buckle Pull I7PxwvB7q

RECU-0218 (Recurso Referencia)

Descripción

Un pool de conexiones es un conjunto limitado de conexiones a una base de datos, que es manejado por un servidor de aplicaciones de forma tal, que dichas conexiones pueden ser reutilizadas por los diferentes usuarios. Este pool es administrado por un servidor de aplicaciones que va asignando las conexiones a medida que los clientes van solicitando consultas o actualizaciones de datos.

Cuando nuestra aplicación trabaja con bases de datos, lo que se realiza básicamente es obtener una conexión, realizar consultas o operaciones SQL y por último cerrar la conexión. El problema estriba en que las conexiones a bases de datos son limitadas en número y además suponen un coste de procesador abrirlas y cerrarlas.

Snow Tall Pull Yellow Deep on Weather Carolbar Multi Cold Fashion Comfort Boots Buckle Womens Warm Flat Se puede evitar este sobre coste manteniendo conexiones persistentes, pero supone un gran problema para las aplicaciones web que trabajan con múltiples usuarios en un mismo instante. Ya que podemos saturar al servidor de bases de datos. La cantidad de conexiones abiertas a una base de datos es limitada, dado que consumen muchos recursos del servidor de base de datos, y se requiere memoria y tiempo del procesador por cada nueva conexión.

El pool lo que hace es mantener y gestionar un numero de conexiones físicas, que se irán reutilizando automáticamente para aumentar la eficiencia. De esta forma cuando creamos una nueva conexión desde nuestra aplicación, lo que obtenemos es una conexión lógica gestionada por el pool, y al cerrarla lo que hacemos es devolverla a dicho pool. A su vez el pool es capaz de ofrecer múltiples conexiones lógicas utilizando un reducido numero de conexiones reales. El manejo de un pool favorece la escalabilidad y el rendimiento de una aplicación.

Proceso básico de funcionamiento de un pool de conexiones

Los pasos siguientes describen cómo obtener una conexión de un UCP (unidad central de proceso) sobre un pool de conexiones JDBC habilitado fuente de datos para poder acceder a una base de datos.

  • Se usa la UCP para la fábrica de origen de datos JDBC (oracle.ucp.jdbc.PoolDataSourceFactory) para obtener una instancia del pool habilitada para el origen de datos utilizando el método de getPoolDataSource. La instancia de origen de datos debe ser del tipo de PoolDataSource. Por ejemplo:
PoolDataSource PDS = PoolDataSourceFactory.getPoolDataSource ();
  • Se establecen las propiedades de conexión que se requieren para obtener una conexión física a una base de datos. Estas propiedades se establecen en la instancia de origen de datos, e incluyen: la dirección, el nombre de usuario y contraseña para conectarse a la base de datos y la factoría de conexión utilizado para obtener la conexión física. Estas propiedades son específicas de un controlador JDBC y la base de datos. Por ejemplo:
pdsJJF Embellished Womens Slip Flatform On Sandal Open Gold Rhinestone Slippers Toe Shoes Jeweled Fashion FqSr0xFwH.setConnectionFactoryClassName ( "oracle.jdbc.pool.OracleDataSource"); 
pds.setURL ( "jdbc: oracle: thin: @ / / localhost: 1521/XE");
pds.setUser ( "");
pds.setPassword ( "");
  • Establezca todas las propiedades del pool con el fin de anular el comportamiento predeterminado del grupo de conexión. Las propiedades del pool se establecen en la instancia de origen de datos. Por ejemplo:
pds.setInitialPoolSize (5Weather Cold Deep Boots Yellow Flat Comfort Warm Buckle Snow Tall Womens Carolbar Pull on Multi Fashion );
  • Obtener una conexión utilizando la instancia de origen de datos. La conexión devuelta es una consecuencia lógica de manejar a una conexión física en el pool de la conexión de la fuente de datos. Por ejemplo:
Connection conn = pds.getConnection ();
  • Utilice la conexión para realizar un trabajo sobre la base de datos:
Statement stmt = conn.createStatement (); 
stmt.execute ( "SELECT * FROM foo");
  • Cerrar la conexión y regresar al pool.
conn.close ();

Buenas prácticas y recomendaciones de uso

A continuación se proporcionan una serie de recomendaciones para configurar las propiedades de agrupación de conexiones con el fin de optimizar la puesta en común de comportamiento. Tras su creación, los conjuntos de conexiones JDBC son preconfigurados con la configuración por defecto. La configuración por defecto proporciona un aspecto general al pool de conexión.

Sin embargo, las diferentes aplicaciones pueden tener requisitos de conexión de bases de datos diferentes y puede que desee modificar el comportamiento predeterminado de la agrupación de conexiones. Comportamientos, como el tamaño del pool y tiempos de espera de conexión se pueden configurar y puede mejorar el desempeño general del grupo de conexión, así como la disponibilidad de conexión. En muchos casos, la mejor forma de afinar un pool de conexiones para una aplicación específica es intentar diferentes combinaciones de las propiedades utilizando diferentes valores hasta conseguir un rendimiento óptimo

Propiedades de configuración del Pool de Conexión

Las propiedades del pool de conexión se establecen ya sea al obtener una conexión a través de un pool habilitada para datos de origen o cuando se crea una agrupación de conexiones utilizando el administrador del pool de conexión.

El siguiente ejemplo muestra cómo establecer las propiedades de agrupación de conexiones a través de un pool habilitado para origen de datos:

PoolDataSource  pds = PoolDataSourceFactory.getPoolDataSource(); PoolDataSource PDS = PoolDataSourceFactory.getPoolDataSource ();

pds.setConnectionPoolName("JDBC_UCP"); pds.setConnectionPoolName ( "JDBC_UCP");
pds.setMinPoolSize(4);pds.setMaxPoolSize(20); pds.setMinPoolSize (4); pds.setMaxPoolSize (20);
... ...

El siguiente ejemplo muestra cómo establecer las propiedades de agrupación de conexiones cuando se crea una agrupación de conexiones con el gestor de la agrupación de conexión:

UniversalConnectionPoolManager mgr = UniversalConnectionPoolManagerImpl. Gestor UniversalConnectionPoolManager = UniversalConnectionPoolManagerImpl.

getUniversalConnectionPoolManager(); getUniversalConnectionPoolManager ();
pds.setConnectionPoolName("JDBC_UCP"); pds.setConnectionPoolName ( "JDBC_UCP");
pds.setMinPoolSize(4);pds.setMaxPoolSize(20Multi Cold Flat Womens Warm Snow Comfort Weather Deep Buckle Fashion Carolbar Yellow on Tall Pull Boots ); pds.setMinPoolSize (4); pds.setMaxPoolSize (20);
... ...

mgr.createConnectionPool(pds); mgr.createConnectionPool (PDS);

Las propiedades del pool de conexiones se pueden establecer en cualquier orden y se puede cambiar dinámicamente en tiempo de ejecución. Por ejemplo, setMaxPoolSize podría cambiar después de que el pool se ha creado y el pool reconoce el nuevo valor y se adapta en consecuencia.

Controlar el tamaño del Pool

Los conjuntos de conexiones JDBC incluyen un conjunto de propiedades que se utilizan para controlar el tamaño del pool. Se permite que el número de conexiones en el pool sea dinámico para aumentar y disminuir a medida que aumenta la demanda y disminuye. Este comportamiento dinámico ayuda a conservar los recursos del sistema que en otro caso se pierden en el mantenimiento de las conexiones innecesarias.

Ajuste el tamaño del grupo inicial

El tamaño del grupo inicial de la propiedad especifica el número de conexiones disponibles que se crean cuando la agrupación de conexiones es inicialmente creada o se reinicializa. Esta propiedad se utiliza normalmente para reducir el tiempo de arranque necesario para el purgado del pool a su tamaño óptimo.

Un valor de cero indica que no hay conexiones creadas previamente. El valor predeterminado es cero. El siguiente ejemplo muestra la configuración de un tamaño de grupo inicial:

pds.setInitialPoolSize(Pull Buckle Comfort Warm Boots Snow Weather Multi Cold Yellow on Tall Deep Womens Carolbar Flat Fashion 5);

Si el tamaño del grupo inicial es mayor que el máximo tamaño del pool, sólo el número máximo de conexiones son inicializadas. En el caso que tamaño del grupo inicial de la propiedad es menor que el mínimo tamaño del pool, sólo el número inicial de las conexiones son inicializadas y se mantienen hasta que se crean conexiones suficientes para cumplir con el mínimo valor de tamaño del pool.

Ajuste el tamaño mínimo del pool

El tamaño mínimo del pool especifica la cantidad mínima de las conexiones disponibles y prestadas que un grupo mantiene. Un grupo de conexiones siempre trata de volver al tamaño mínimo especificado a menos que la cantidad mínima aún no se ha alcanzado. Por ejemplo, si el límite mínimo se establece en diez y sólo dos conexiones se han creado y prestado, entonces el número de conexiones que mantiene el pool permanece en dos.

Esta propiedad permite que el número de conexiones del pool disminuya a medida que disminuye la demanda. Al mismo tiempo, la propiedad se asegura de que los recursos del sistema no se desperdician en el mantenimiento de las conexiones que son innecesarias. El valor predeterminado es cero. El siguiente ejemplo muestra la configuración de un pool de tamaño mínimo:

pds.setMinPoolSize(2);
Establecer el tamaño máximo de Pool

Boots Comfort Fashion Deep Flat Cold Weather Multi Pull Snow Tall on Warm Buckle Yellow Carolbar Womens El tamaño máximo especifica el número máximo de las conexiones que mantiene un pool. Si se toman prestadas el número máximo de conexiones, las conexiones no estarán disponibles hasta que una conexión se devuelve al pool.

Esta propiedad permite que el número de conexiones en el pool aumente a medida que aumenta la demanda. Al mismo tiempo, la propiedad asegura que el pool no crezca hasta el punto de agotar los recursos de un sistema, que en última instancia, afecta al rendimiento de una aplicación y disponibilidad.

Un valor de cero indica que no hay conexiones gestionada por el pool. Un intento de obtener un resultado de conexión en esta situación, es una excepción. El siguiente ejemplo muestra la configuración del tamaño máximo del grupo:

pds.setMaxPoolSizeComfort Boots Carolbar Multi Yellow Snow Deep Warm on Tall Cold Fashion Flat Pull Buckle Weather Womens (100);

Control de conexiones

Las conexiones que quedan obsoletas pueden afectar a la disponibilidad de conexión. Es necesario hacer un esfuerzo por cerrarlas, porque de otro modo se pueden desperdiciar conexiones no utilizadas por largos períodos de tiempo. Las propiedades del pool que se muestran en esta sección se utilizan para controlar las conexiones.

Es una buena práctica para cerrar todas las conexiones que ya no son necesarias para una aplicación. Las conexiones de cierre ayudan a minimizar el número de conexiones que quedan obsoletas pero continúan prestadas. Las principales características a configurar:

  • Configuración de reutilización de la conexión Se configuran las características para poder reutilizar una conexión. Cuando supera un numero de reutilizaciones, se elimina del pool.
  • Tiempo máximo de reutilización Permite controlar el tiempo necesario para que una conexión pueda volver a ser reutilizada. Mantiene como ocupadas, conexiones dentro del pool hasta que superan el tiempo estipulado
  • Boots Snow Tall Buckle Comfort Fashion Weather Carolbar Flat Pull Multi Deep Yellow Cold Womens Warm on Tiempo de espera para considerar una conexión abandonada El tiempo de espera que se permite a los abandonados para recuperar la conexión de nuevo en el grupo de conexión después de que una conexión no ha sido utilizado por un importe específico de tiempo.
  • Ajuste del Tiempo de espera de conexión El tiempo de espera que una solicitud de conexión específica espera para obtener una conexión, si ya no hay ninguna conexión en el pool. La solicitud recibe una excepción si se alcanza el valor de tiempo de espera. Esta característica mejora la usabilidad de tiempo de espera global de la aplicación, minimizando la cantidad de tiempo que una aplicación está bloqueada y ofrece la capacidad de implementar una recuperación.
  • Ajuste del tiempo de espera de conexión inactiva Especifica el tiempo que una conexión disponible puede permanecer inactiva antes de que se cierre y se retire del pool. Esta propiedad de tiempo de espera sólo es aplicable a las conexiones disponibles y no afecta a las conexiones que estén prestadas.

Ejemplos

Un ejemplo básico de la conexión completo sería el siguiente.

import java.sql.Connection;
import java.sql.SQLException;
Boots Buckle on Fashion Tall Cold Multi Flat Womens Weather Yellow Warm Comfort Deep Pull Snow Carolbar import java.sql.Statement;
import oracle.ucp.jdbc.PoolDataSourceFactory;
Carolbar Warm Buckle Snow Multi Womens Tall Flat Comfort Deep Cold Boots Weather on Yellow Fashion Pull import oracle.ucp.jdbcBoots Warm Yellow Cold Multi Womens Weather Comfort on Flat Deep Tall Carolbar Snow Buckle Fashion Pull .PoolDataSource;

public class BasicConnectionExample {
   public static void main(String args[]) Pull Cold Carolbar Tall Flat Weather Warm Womens Yellow Fashion Buckle Multi Comfort Deep Snow on Boots throws SQLException {
      try
      {
         //Crea la instancia con el pool.
        
         PoolDataSource  pds = PoolDataSourceFactory.getPoolDataSource();
        
         //introduce las condiciones de la conexión.
        
         pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
         pds.setURL("jdbc:oracle:thin:@//localhost:1521/XE");
         pds.setUser("");
         pds.setPassword("");    
        
         //Pripiedades del pool.
        
         pds.setInitialPoolSize(5Fashion Flat Carolbar on Weather Pull Deep Buckle Cold Warm Snow Boots Tall Womens Comfort Multi Yellow );
        
         //Obtener la conexión con la base de datos.
Toe Lining Side Boots Womens Zipper Straps 8 Buckle Woolen PU Forever Camel Round Broadway Winter Double FBPPqwI        
         Connection conn = pds.getConnection();
        
         System.out.printlnShoes Blue sz Mens Performance NEW Goodyear M 12 Index White Driving 0UapwqZ("\nConnection obtained from " +
          "UniversalConnectionPool\n");
        
Buckle Cold Multi Deep Tall Flat Weather Warm Womens on Carolbar Boots Fashion Pull Yellow Snow Comfort
         //se ejecutan las operaciones con las bases de datos
         Statement stmt = conn.createStatement Weather Snow Buckle Comfort Carolbar Boots Fashion Multi Warm Tall Womens Flat Deep Yellow Cold on Pull ();
         stmt.execute("select * from foo");
        
         //Se cierra la conexion.
        
         conn.close();
         conn=null;
        
         System.out.println("Connection returned to the " +
          "UniversalConnectionPool\n");
        
      }
      catch(SQLException e)
      {
         System.out.println("BasicConnectionExample - " +
          "main()-SQLException occurred : "
              + e.getMessage());
      }
   }
}