Class DNSCacheManager
- java.lang.Object
-
- org.apache.jmeter.testelement.AbstractTestElement
-
- org.apache.jmeter.config.ConfigTestElement
-
- org.apache.jmeter.protocol.http.control.DNSCacheManager
-
- All Implemented Interfaces:
Serializable,Cloneable,ConfigElement,Searchable,TestElement,TestIterationListener
public class DNSCacheManager extends ConfigTestElement implements TestIterationListener, Serializable
This config element provides ability to have flexible control over DNS caching function. Depending on option from @seeDNSCachePanel, either system or custom resolver can be used. Custom resolver uses dnsjava library, and gives ability to bypass both OS and JVM cache. It allows to use paradigm "1 virtual user - 1 DNS cache" in performance tests.- Since:
- 2.12
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static StringCLEAR_CACHE_EACH_ITERstatic booleanDEFAULT_CLEAR_CACHE_EACH_ITERstatic booleanDEFAULT_IS_CUSTOM_RESOLVERstatic StringDEFAULT_SERVERSstatic StringIS_CUSTOM_RESOLVERstatic StringSERVERS-
Fields inherited from class org.apache.jmeter.config.ConfigTestElement
PASSWORD, USERNAME
-
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
-
Constructor Summary
Constructors Constructor Description DNSCacheManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddServer(String dnsServer)voidclear()Clear the TestElement of all data.Objectclone()CollectionPropertygetServers()booleanisClearEachIteration()Clean DNS cache each iterationbooleanisCustomResolver()InetAddress[]resolve(String host)Resolves address using system or custom DNS resolvervoidsetClearEachIteration(boolean clear)Clean DNS cache each iterationvoidsetCustomResolver(boolean isCustomResolver)voidtestIterationStart(LoopIterationEvent event)Each time through a Thread Group's test script, an iteration event is fired for each thread.-
Methods inherited from class org.apache.jmeter.config.ConfigTestElement
addConfigElement, addTestElement, expectsModification
-
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addPropertiesValues, addProperty, addProperty, canRemove, clearTemporary, clearTestElementChildren, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty
-
-
-
-
Field Detail
-
CLEAR_CACHE_EACH_ITER
public static final String CLEAR_CACHE_EACH_ITER
- See Also:
- Constant Field Values
-
SERVERS
public static final String SERVERS
- See Also:
- Constant Field Values
-
IS_CUSTOM_RESOLVER
public static final String IS_CUSTOM_RESOLVER
- See Also:
- Constant Field Values
-
DEFAULT_CLEAR_CACHE_EACH_ITER
public static final boolean DEFAULT_CLEAR_CACHE_EACH_ITER
- See Also:
- Constant Field Values
-
DEFAULT_SERVERS
public static final String DEFAULT_SERVERS
- See Also:
- Constant Field Values
-
DEFAULT_IS_CUSTOM_RESOLVER
public static final boolean DEFAULT_IS_CUSTOM_RESOLVER
- See Also:
- Constant Field Values
-
-
Method Detail
-
clone
public Object clone()
- Specified by:
clonein interfaceConfigElement- Specified by:
clonein interfaceTestElement- Overrides:
clonein classAbstractTestElement
-
resolve
public InetAddress[] resolve(String host) throws UnknownHostException
Resolves address using system or custom DNS resolver- Throws:
UnknownHostException
-
testIterationStart
public void testIterationStart(LoopIterationEvent event)
Each time through a Thread Group's test script, an iteration event is fired for each thread. This will be after the test elements have been cloned, so in general the instance will not be the same as the ones the start/end methods call. Clean DNS cache if appropriate check-box was selected- Specified by:
testIterationStartin interfaceTestIterationListener- Parameters:
event- the iteration event
-
clear
public void clear()
Clear the TestElement of all data.- Specified by:
clearin interfaceTestElement- Overrides:
clearin classAbstractTestElement
-
addServer
public void addServer(String dnsServer)
-
getServers
public CollectionProperty getServers()
-
isClearEachIteration
public boolean isClearEachIteration()
Clean DNS cache each iteration- Returns:
- boolean
-
setClearEachIteration
public void setClearEachIteration(boolean clear)
Clean DNS cache each iteration- Parameters:
clear- flag whether DNS cache should be cleared on each iteration
-
isCustomResolver
public boolean isCustomResolver()
-
setCustomResolver
public void setCustomResolver(boolean isCustomResolver)
-
-