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 @see
DNSCachePanel, 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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final booleanstatic final booleanstatic final Stringstatic final Stringstatic final StringFields inherited from class ConfigTestElement
PASSWORD, USERNAMEFields inherited from interface TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclear()Clear the TestElement of all data.clone()booleanClean DNS cache each iterationbooleanResolves address using system or custom DNS resolvervoidsetClearEachIteration(boolean clear) Clean DNS cache each iterationvoidsetCustomResolver(boolean isCustomResolver) voidEach time through a Thread Group's test script, an iteration event is fired for each thread.Methods inherited from class ConfigTestElement
addConfigElement, addTestElement, expectsModificationMethods inherited from class 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 Details
-
CLEAR_CACHE_EACH_ITER
- See Also:
-
SERVERS
- See Also:
-
IS_CUSTOM_RESOLVER
- See Also:
-
DEFAULT_CLEAR_CACHE_EACH_ITER
public static final boolean DEFAULT_CLEAR_CACHE_EACH_ITER- See Also:
-
DEFAULT_SERVERS
- See Also:
-
DEFAULT_IS_CUSTOM_RESOLVER
public static final boolean DEFAULT_IS_CUSTOM_RESOLVER- See Also:
-
-
Constructor Details
-
DNSCacheManager
public DNSCacheManager()
-
-
Method Details
-
clone
- Specified by:
clonein interfaceConfigElement- Specified by:
clonein interfaceTestElement- Overrides:
clonein classAbstractTestElement
-
resolve
Resolves address using system or custom DNS resolver- Throws:
UnknownHostException
-
testIterationStart
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
-
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)
-