Utilizando Pools de Objetos
Um conjunto de objetos ajuda um aplicativo a evitar a criação de novos objetos Java repetidamente. A maioria dos objetos pode ser criada uma vez, utilizada e, em seguida, reutilizada. Um conjunto de objetos suporta o conjunto de objetos que estão aguardando para serem reutilizados.
Sobre Esta Tarefa
Os conjuntos de objetos não devem ser utilizados para agrupar as conexões JDBC ou conexões e sessões JMS (Java Message Service) em conjuntos. O WebSphere Application Server fornece mecanismos especializados para lidar com esses tipos de objetos. Esses conjuntos de objetos devem ser utilizados para o agrupamento em conjunto de objetos definidos pelo aplicativo ou de tipos básicos do Developer Kit.
Procedimento
Resultados
Exemplo
InitialContext ic = new InitialContext();
ObjectPoolManager opm = (ObjectPoolManager)ic.lookup("java:comp/env/pool");
ObjectPool arrayListPool = null;
ObjectPool vectorPool = null;
try
{
arrayListPool = opm.getPool(ArrayList.class);
vectorPool = opm.getPool(Vector.class);
}
catch(InstantiationException e)
{
// problem creating pool
}
catch(IllegalAccessException e)
{
// problem creating pool
}
ArrayList list = null;
try
{
list = (ArrayList)arrayListPool.getObject();
list.clear(); // just in case
for(int i = 0; i < 10; ++i)
{
list.add("" + i);
}
// do what ever we need with the ArrayList
}
finally
{
if(list != null) arrayListPool.returnObject(list);
}
Esse exemplo apresenta o padrão básico para a utilização de conjuntos de objetos. Se o aplicativo não retornar o objeto, o único efeito adverso será que o objeto não poderá ser reutilizado.