Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.jmeter.protocol.http.util
Class DOMPool  view DOMPool download DOMPool.java

java.lang.Object
  extended byorg.apache.jmeter.protocol.http.util.DOMPool

public final class DOMPool
extends java.lang.Object

The purpose of this class is to cache the DOM Documents in memory and by-pass parsing. For old systems or laptops, it's not practical to parse the XML documents every time. Therefore using a memory cache can reduce the CPU usage.

For now this is a simple version to test the feasibility of caching. If it works, this class will be replaced with an Apache commons or something equivalent. If I was familiar with Apache Commons Pool, I would probably use it, but since I don't know the API, it is quicker for Proof of Concept to just write a dumb one. If the number documents in the pool exceed several hundred, it will take a long time for the lookup.

Created on: Jun 17, 2003


Field Summary
private static java.util.HashMap MEMCACHE
          The cache is created with an initial size of 50.
 
Constructor Summary
private DOMPool()
          Private constructor to prevent instantiation.
 
Method Summary
static org.w3c.dom.Document getDocument(java.lang.Object key)
          Return a document.
static void putDocument(java.lang.Object key, java.lang.Object data)
          Add an object to the cache.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MEMCACHE

private static java.util.HashMap MEMCACHE
The cache is created with an initial size of 50. Running a webservice test on an old system will likely run into memory or CPU problems long before the HashMap is an issue.

Constructor Detail

DOMPool

private DOMPool()
Private constructor to prevent instantiation.

Method Detail

getDocument

public static org.w3c.dom.Document getDocument(java.lang.Object key)
Return a document.


putDocument

public static void putDocument(java.lang.Object key,
                               java.lang.Object data)
Add an object to the cache.