Class CacheManager

  • All Implemented Interfaces:
    java.io.Serializable , java.lang.Cloneable , org.apache.jmeter.config.ConfigElement , org.apache.jmeter.gui.Searchable , org.apache.jmeter.testelement.TestElement , org.apache.jmeter.testelement.TestIterationListener , org.apache.jmeter.testelement.TestStateListener

    
    public class CacheManager
    extends ConfigTestElement implements TestStateListener, TestIterationListener, Serializable
                        

    Handles HTTP Caching.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Constructor Summary

      Constructors 
      Constructor Description
      CacheManager()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      boolean getUseExpires()
      void setUseExpires(boolean expires)
      boolean getControlledByThread()
      void setControlledByThread(boolean control)
      void saveDetails(URLConnection conn, HTTPSampleResult res) Save the Last-Modified, Etag, and Expires headers if the result is cacheable.
      void saveDetails(HttpResponse method, HTTPSampleResult res) Save the Last-Modified, Etag, and Expires headers if the result is cacheable.
      void setHeaders(URL url, HttpRequestBase request) Check the cache, and if there is a match, set the headers:
      • If-Modified-Since
      • If-None-Match
      Apache HttpClient version.
      void setHeaders(HttpURLConnection conn, Array<Header> headers, URL url) Check the cache, and if there is a match, set the headers:
      • If-Modified-Since
      • If-None-Match
      boolean inCache(URL url) Check the cache, if the entry has an expires header and the entry has not expired, return true
      boolean inCache(URL url, Array<Header> allHeaders)
      boolean inCache(URL url, Array<Header> allHeaders)
      boolean getClearEachIteration()
      void setClearEachIteration(boolean clear)
      int getMaxSize()
      void setMaxSize(int size)
      void clear()
      CacheManager createCacheManagerProxy() create a cache manager that share the underlying cache of the current one it allows to use the same cache in different threads which does not inherit from each other
      void testStarted()
      void testEnded()
      void testStarted(String host)
      void testEnded(String host)
      void testIterationStart(LoopIterationEvent event)
      • Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

        canRemove, clearTestElementChildren, clone, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsLong, getPropertyAsString, getPropertyOrNull, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
      • Methods inherited from class org.apache.jmeter.config.ConfigTestElement

        addConfigElement, addTestElement, expectsModification, getProps, getSchema
      • Methods inherited from class org.apache.jmeter.testelement.TestElement

        get, get, get, get, get, get, get, get, get, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getProps, getSchema, getString, removed, set
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CacheManager

        CacheManager()
    • Method Detail

      • saveDetails

         void saveDetails(URLConnection conn, HTTPSampleResult res)

        Save the Last-Modified, Etag, and Expires headers if the result is cacheable. Version for Java implementation.

        Parameters:
        conn - connection
        res - result
      • saveDetails

         void saveDetails(HttpResponse method, HTTPSampleResult res)

        Save the Last-Modified, Etag, and Expires headers if the result is cacheable. Version for Apache HttpClient implementation.

        Parameters:
        method - HttpResponse to extract header information from
        res - result to decide if result is cacheable
      • setHeaders

         void setHeaders(URL url, HttpRequestBase request)

        Check the cache, and if there is a match, set the headers:

        • If-Modified-Since
        • If-None-Match
        Apache HttpClient version.
        Parameters:
        url - URL to look up in cache
        request - where to set the headers
      • inCache

        @Deprecated() boolean inCache(URL url)

        Check the cache, if the entry has an expires header and the entry has not expired, return true

        Parameters:
        url - URL to look up in cache
        Returns:

        true if entry has an expires header and the entry has not expired, else false

      • getMaxSize

         int getMaxSize()
        Returns:

        int cache max size

      • setMaxSize

         void setMaxSize(int size)
        Parameters:
        size - int cache max size
      • createCacheManagerProxy

         CacheManager createCacheManagerProxy()

        create a cache manager that share the underlying cache of the current one it allows to use the same cache in different threads which does not inherit from each other

        Returns:

        a cache manager that share the underlying cache of the current one

        Since:

        3.0