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 String
CLEAR_CACHE_EACH_ITER
static boolean
DEFAULT_CLEAR_CACHE_EACH_ITER
static boolean
DEFAULT_IS_CUSTOM_RESOLVER
static String
DEFAULT_SERVERS
static String
IS_CUSTOM_RESOLVER
static String
SERVERS
-
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 void
addServer(String dnsServer)
void
clear()
Clear the TestElement of all data.Object
clone()
CollectionProperty
getServers()
boolean
isClearEachIteration()
Clean DNS cache each iterationboolean
isCustomResolver()
InetAddress[]
resolve(String host)
Resolves address using system or custom DNS resolvervoid
setClearEachIteration(boolean clear)
Clean DNS cache each iterationvoid
setCustomResolver(boolean isCustomResolver)
void
testIterationStart(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:
clone
in interfaceConfigElement
- Specified by:
clone
in interfaceTestElement
- Overrides:
clone
in 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:
testIterationStart
in interfaceTestIterationListener
- Parameters:
event
- the iteration event
-
clear
public void clear()
Clear the TestElement of all data.- Specified by:
clear
in interfaceTestElement
- Overrides:
clear
in 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)
-
-