Uso de agrupaciones de objetos

La agrupación de objetos evita que la aplicación tenga que crear nuevos objetos Java repetidamente. La mayoría de los objetos pueden crearse una vez, utilizarse y volver a utilizarse más tarde. Una agrupación de objetos permite la agrupación de objetos que están a la espera de ser reutilizados.

Acerca de esta tarea

Estas agrupaciones de objetos no se han diseñado para utilizarlas en la agrupación de conexiones JDBC ni en las conexiones JMS (Java Message Service) ni en las sesiones. WebSphere Application Server proporciona mecanismos especializados para tratar con estos tipos de objetos. Estas agrupaciones de objetos están especialmente indicadas para agrupar objetos definidos por la aplicación o tipos básicos de Developer Kit.

Para utilizar una agrupación de objetos, el administrador de productos debe definir un gestor de agrupaciones de objetos utilizando la consola administrativa. En una célula del servidor de aplicaciones se pueden crear varios gestores de agrupaciones de objetos.
Nota: El servicio de gestor de agrupaciones de objetos sólo está soportado desde el contenedor de EJB o el contenedor web. No está soportado buscar y utilizar un gestor de agrupaciones de objetos configurado desde un contenedor de cliente de aplicaciones J2EE (Java 2 Platform Enterprise Edition) no está soportado.

Procedimiento

  1. Inicie la consola administrativa.
  2. Pulse Recursos > Gestores de agrupaciones de objetos.
  3. Especifique un valor de Ámbito y pulse Nuevo.
  4. Especifique las propiedades necesarias para los valores del gestor de trabajo.
    Ámbito
    El ámbito del recurso configurado. Este valor indica la ubicación del archivo de configuración.
    Name
    El nombre del gestor de agrupaciones de objetos. Este nombre puede tener hasta 30 caracteres ASCII de largo.
    Nombre JNDI
    Nombre JNDI (Java Naming and Directory Interface) para el gestor de agrupaciones.
  5. [Opcional] Especifique una Descripción y una Categoría para el gestor de agrupaciones de objetos.

Resultados

Después de seguir estos pasos, las aplicaciones pueden buscar el gestor de agrupaciones de objetos realizando una búsqueda de JNDI mediante el nombre JNDI especificado.

Ejemplo

El código siguiente muestra cómo una aplicación puede encontrar un objeto de gestor de agrupaciones de objetos:
InitialContext ic =  new InitialContext();
ObjectPoolManager opm = (ObjectPoolManager)ic.lookup("java:comp/env/pool");
Cuando la aplicación tiene un ObjectPoolManager, puede almacenar en memoria caché una agrupación de objetos para las clases de los tipos que desee utilizar. A continuación se muestra un ejemplo:
ObjectPool arrayListPool = null;
ObjectPool vectorPool = null;
try
{
		arrayListPool = opm.getPool(ArrayList.class);
		vectorPool = opm.getPool(Vector.class);
}
catch(InstantiationException e)
{
		// Problema al crear la agrupación
}
catch(IllegalAccessException e)
{
		// Problema al crear la agrupación
}
Una vez que la aplicación tiene las agrupaciones, puede utilizarlas como en el ejemplo siguiente:
ArrayList list = null;
try
{
		list = (ArrayList)arrayListPool.getObject();
		list.clear();	// por si acaso
		for(int i = 0; i < 10; ++i)
	{
				list.add("" + i);
	}
		// Hacer lo que sea necesario con ArrayList
}
finally
{
		if(list != null) arrayListPool.returnObject(list);
}

En este ejemplo se presenta el patrón básico para utilizar la agrupación de objetos. Si la aplicación no devuelve el objeto, entonces la única consecuencia adversa es que el objeto no se puede volver a utilizar.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tasb_objectpool
File name: tasb_objectpool.html