Objektpools verwenden
Durch Verwendung eines Objektpools kann eine Anwendung vermeiden, wiederholt neue Java-Objekte erstellen zu müssen. Die meisten Objekte können einmal erstellt und dann erneut verwendet werden. Ein Objektpool unterstützt das Pooling von Objekten für die Wiederverwendung.
Informationen zu diesem Vorgang
Objektpools sind nicht für das Pooling von JDBC-Verbindungen und JMS-Verbindungen oder -Sitzungen vorgesehen. Für diesen Typ von Objekten stellt WebSphere Application Server spezielle Verfahren bereit. Diese Objektpools dienen als Pool für anwendungsdefinierte Objekte oder Developer-Kit-Typen.
Vorgehensweise
Ergebnisse
Beispiel
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 beim Erstellen des Pools
}
catch(IllegalAccessException e)
{
// Problem beim Erstellen des Pools
}
ArrayList list = null;
try
{
list = (ArrayList)arrayListPool.getObject();
list.clear(); // zur Sicherheit
for(int i = 0; i < 10; ++i)
{
list.add("" + i);
}
// Die ArrayList wie erforderlich behandeln.
}
finally
{
if(list != null) arrayListPool.returnObject(list);
}
Dies Beispiel zeigt das grundlegende Muster für die Verwendung von Objektpools. Falls die Anwendung das Objekt nicht zurückgibt, ist die einzige negative Auswirkung, dass das Objekt nicht wiederverwendet werden kann.