Package org.apache.jmeter.protocol.jdbc.config

# Class DataSourceElement

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.protocol.jdbc.config.DataSourceElement

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `ConfigElement`, `Searchable`, `TestBean`, `org.apache.jmeter.testelement.TestElement`, `TestStateListener`

public class DataSourceElement extends AbstractTestElement implements ConfigElement, TestStateListener, TestBean

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElement

`org.apache.jmeter.testelement.TestElement.Companion`

## Field Summary

### Fields inherited from interface org.apache.jmeter.testelement.TestElement

`COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

## Constructor Summary

Constructors
Constructor
Description
`DataSourceElement()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addConfigElement(ConfigElement config)`
Add a configuration element to this one.
`Object`
`clone()`
`boolean`
`expectsModification()`
If your config element expects to be modified in the process of a test run, and you want those modifications to carry over from sample to sample (as in a cookie manager - you want to save all cookies that get set throughout the test), then return true for this method.
`String`
`getCheckQuery()`
`static Connection`
`getConnection(String poolName)`
Utility routine to get the connection from the pool.
Purpose: allows JDBCSampler to be entirely independent of the pooling classes allows the pool storage mechanism to be changed if necessary
`String`
`getConnectionAge()`
`static String`
`getConnectionInfo(String poolName)`
Gets a textual description about the pools configuration.
`String`
`getConnectionProperties()`
`String`
`getDataSource()`
`String`
`getDbUrl()`
`String`
`getDriver()`
`String`
`getInitQuery()`
`String`
`getPassword()`
`String`
`getPoolMax()`
`String`
`getPoolPreparedStatements()`
Return the max number of pooled prepared statements.
`String`
`getTimeout()`
`String`
`getTransactionIsolation()`
`String`
`getTrimInterval()`
`String`
`getUsername()`
`boolean`
`isAutocommit()`
`boolean`
`isKeepAlive()`
`boolean`
`isPreinit()`
`void`
`setAutocommit(boolean autocommit)`
`void`
`setCheckQuery(String checkQuery)`
`void`
`setConnectionAge(String connectionAge)`
`void`
`setConnectionProperties(String connectionProperties)`
`void`
`setDataSource(String dataSource)`
`void`
`setDbUrl(String dbUrl)`
`void`
`setDriver(String driver)`
`void`
`setInitQuery(String initQuery)`
`void`
`setKeepAlive(boolean keepAlive)`
`void`
`setPassword(String password)`
`void`
`setPoolMax(String poolMax)`
`void`
`setPoolPreparedStatements(String poolPreparedStatements)`
Set the max number of pooled prepared statements.
`void`
`setPreinit(boolean preinit)`
`void`
`setTimeout(String timeout)`
`void`
`setTransactionIsolation(String transactionIsolation)`
`void`
`setTrimInterval(String trimInterval)`
`void`
`setUsername(String username)`
`void`
`testEnded()`
Called once for all threads after the end of a test.
`void`
`testEnded(String host)`
Called once for all threads after the end of a test.
`void`
`testStarted()`
Called just before the start of the test from the main engine thread.
`void`
`testStarted(String host)`
Called just before the start of the test from the main engine thread.

### Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

`addPropertiesValues, addProperty, addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getPropertyOrNull, 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`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.jmeter.testelement.TestElement

`get, get, get, get, get, get, get, get, get, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getPropertyOrNull, getProps, getSchema, getString, removed, removeProperty, set, set, set, set, set, set, set, set, set`

## Constructor Details

### DataSourceElement

public DataSourceElement()

## Method Details

### testEnded

public void testEnded()
Description copied from interface: `TestStateListener`

Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
  `testEnded` in interface `TestStateListener`
See Also:
  - `StandardJMeterEngine.stopTest()`

### testEnded

public void testEnded(String host)
Description copied from interface: `TestStateListener`

Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
  `testEnded` in interface `TestStateListener`
Parameters:
  `host` - name of host
See Also:
  - `StandardJMeterEngine.stopTest()`

### testStarted

public void testStarted()
Description copied from interface: `TestStateListener`

Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
  `testStarted` in interface `TestStateListener`
See Also:
  - `StandardJMeterEngine.run()`

### testStarted

public void testStarted(String host)
Description copied from interface: `TestStateListener`

Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
  `testStarted` in interface `TestStateListener`
Parameters:
  `host` - name of host
See Also:
  - `StandardJMeterEngine.run()`

### clone

public Object clone()

Specified by:
  `clone` in interface `ConfigElement`
Specified by:
  `clone` in interface `org.apache.jmeter.testelement.TestElement`
Overrides:
  `clone` in class `AbstractTestElement`

### getConnectionInfo

public static String getConnectionInfo(String poolName) throws SQLException
Gets a textual description about the pools configuration.

Parameters:
  `poolName` - Pool name
Returns:
  Connection information on `poolName` or a short message, when the JMeter object specified by `poolName` is not a pool
Throws:
  `SQLException` - when an error occurs, while gathering information about the connection

### getConnection

public static Connection getConnection(String poolName) throws SQLException
Utility routine to get the connection from the pool.
Purpose:

- allows JDBCSampler to be entirely independent of the pooling classes
- allows the pool storage mechanism to be changed if necessary

Parameters:
  `poolName` - name of the pool to get a connection from
Returns:
  a possible cached connection from the pool
Throws:
  `SQLException` - when an error occurs while getting the connection from the pool

### addConfigElement

public void addConfigElement(ConfigElement config)
Description copied from interface: `ConfigElement`
Add a configuration element to this one. This allows config elements to combine and give a "layered" effect. For example, HTTPConfigElements have properties for domain, path, method, and parameters. If element A has everything filled in, but null for domain, and element B is added, which has only domain filled in, then after adding B to A, A will have the domain from B. If A already had a domain, then the correct behavior is for A to ignore the addition of element B.

Specified by:
  `addConfigElement` in interface `ConfigElement`
Parameters:
  `config` - the element to be added to this ConfigElement

### expectsModification

public boolean expectsModification()
Description copied from interface: `ConfigElement`
If your config element expects to be modified in the process of a test run, and you want those modifications to carry over from sample to sample (as in a cookie manager - you want to save all cookies that get set throughout the test), then return true for this method. Your config element will not be cloned for each sample. If your config elements are more static in nature, return false. If in doubt, return false.

Specified by:
  `expectsModification` in interface `ConfigElement`
Returns:
  true if the element expects to be modified over the course of a test run

### getCheckQuery

public String getCheckQuery()

Returns:
  Returns the checkQuery.

### setCheckQuery

public void setCheckQuery(String checkQuery)

Parameters:
  `checkQuery` - The checkQuery to set.

### getConnectionAge

public String getConnectionAge()

Returns:
  Returns the connectionAge.

### setConnectionAge

public void setConnectionAge(String connectionAge)

Parameters:
  `connectionAge` - The connectionAge to set.

### getDataSource

public String getDataSource()

Returns:
  Returns the poolname.

### setDataSource

public void setDataSource(String dataSource)

Parameters:
  `dataSource` - The poolname to set.

### getDbUrl

public String getDbUrl()

Returns:
  Returns the dbUrl.

### setDbUrl

public void setDbUrl(String dbUrl)

Parameters:
  `dbUrl` - The dbUrl to set.

### getDriver

public String getDriver()

Returns:
  Returns the driver.

### setDriver

public void setDriver(String driver)

Parameters:
  `driver` - The driver to set.

### getPassword

public String getPassword()

Returns:
  Returns the password.

### setPassword

public void setPassword(String password)

Parameters:
  `password` - The password to set.

### getPoolMax

public String getPoolMax()

Returns:
  Returns the poolMax.

### setPoolMax

public void setPoolMax(String poolMax)

Parameters:
  `poolMax` - The poolMax to set.

### getTimeout

public String getTimeout()

Returns:
  Returns the timeout.

### setTimeout

public void setTimeout(String timeout)

Parameters:
  `timeout` - The timeout to set.

### getTrimInterval

public String getTrimInterval()

Returns:
  Returns the trimInterval.

### setTrimInterval

public void setTrimInterval(String trimInterval)

Parameters:
  `trimInterval` - The trimInterval to set.

### getUsername

public String getUsername()

Returns:
  Returns the username.

### setUsername

public void setUsername(String username)

Parameters:
  `username` - The username to set.

### isAutocommit

public boolean isAutocommit()

Returns:
  Returns the autocommit.

### setAutocommit

public void setAutocommit(boolean autocommit)

Parameters:
  `autocommit` - The autocommit to set.

### isPreinit

public boolean isPreinit()

Returns:
  Returns the preinit.

### setPreinit

public void setPreinit(boolean preinit)

Parameters:
  `preinit` - The preinit to set.

### isKeepAlive

public boolean isKeepAlive()

Returns:
  Returns the keepAlive.

### setKeepAlive

public void setKeepAlive(boolean keepAlive)

Parameters:
  `keepAlive` - The keepAlive to set.

### getTransactionIsolation

public String getTransactionIsolation()

Returns:
  the transaction isolation level

### setTransactionIsolation

public void setTransactionIsolation(String transactionIsolation)

Parameters:
  `transactionIsolation` - The transaction isolation level to set. `NULL` to use the default of the driver.

### getInitQuery

public String getInitQuery()

Returns:
  the initQuery

### setInitQuery

public void setInitQuery(String initQuery)

Parameters:
  `initQuery` - the initQuery to set

### getConnectionProperties

public String getConnectionProperties()

Returns:
  the connectionProperties

### setConnectionProperties

public void setConnectionProperties(String connectionProperties)

Parameters:
  `connectionProperties` - the connectionProperties to set

### getPoolPreparedStatements

public String getPoolPreparedStatements()
Return the max number of pooled prepared statements. "0" means no limit on prepared statements to pool and "-1" disables pooling.

Returns:
  the max number of pooled prepared statements

### setPoolPreparedStatements

public void setPoolPreparedStatements(String poolPreparedStatements)
Set the max number of pooled prepared statements. "0" means no limit on prepared statements to pool and "-1" disables pooling.

Parameters:
  `poolPreparedStatements` - max number of prepared statements