public abstract class JdbcDatabaseContainer<SELF extends JdbcDatabaseContainer<SELF>>
extends org.testcontainers.containers.GenericContainer<SELF>
implements org.testcontainers.containers.traits.LinkableContainer
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.String,java.lang.String> |
parameters |
Constructor and Description |
---|
JdbcDatabaseContainer(java.util.concurrent.Future<java.lang.String> image) |
JdbcDatabaseContainer(java.lang.String dockerImageName) |
Modifier and Type | Method and Description |
---|---|
void |
addParameter(java.lang.String paramName,
java.lang.String value) |
protected java.lang.String |
constructUrlForConnection(java.lang.String queryString)
Template method for constructing the JDBC URL to be used for creating
Connection s. |
java.sql.Connection |
createConnection(java.lang.String queryString)
Creates a connection to the underlying containerized database instance.
|
protected int |
getConnectTimeoutSeconds() |
java.lang.String |
getDatabaseName() |
protected abstract java.lang.String |
getDriverClassName() |
java.sql.Driver |
getJdbcDriverInstance()
Obtain an instance of the correct JDBC driver for this particular database container type
|
abstract java.lang.String |
getJdbcUrl() |
abstract java.lang.String |
getPassword() |
protected int |
getStartupTimeoutSeconds() |
protected abstract java.lang.String |
getTestQueryString() |
abstract java.lang.String |
getUsername() |
protected void |
optionallyMapResourceParameterAsVolume(@NotNull java.lang.String paramName,
@NotNull java.lang.String pathNameInContainer,
@NotNull java.lang.String defaultResource) |
void |
setParameters(java.util.Map<java.lang.String,java.lang.String> parameters) |
protected void |
waitUntilContainerStarted() |
SELF |
withDatabaseName(java.lang.String dbName) |
SELF |
withPassword(java.lang.String password) |
SELF |
withUsername(java.lang.String username) |
addEnv, addExposedPort, addExposedPorts, addFileSystemBind, addFixedExposedPort, addFixedExposedPort, addLink, canEqual, close, configure, containerIsStarted, containerIsStarting, copyFileFromContainer, copyFileToContainer, createVolumeDirectory, equals, execInContainer, execInContainer, fetchDockerDaemonInfo, finished, getBinds, getCommandParts, getContainerId, getContainerInfo, getContainerName, getCreateContainerCmdModifiers, getDockerClient, getDockerDaemonInfo, getDockerImageName, getEnv, getEnvMap, getExposedPorts, getExtraHosts, getImage, getIpAddress, getLinkedContainers, getLivenessCheckPort, getLivenessCheckPortNumbers, getLivenessCheckPorts, getLogConsumers, getNetwork, getNetworkAliases, getNetworkMode, getPortBindings, getStartupAttempts, getStartupCheckStrategy, getTestHostIpAddress, getVolumesFroms, getWaitStrategy, getWorkingDirectory, hashCode, isPrivilegedMode, logger, setBinds, setCommand, setCommand, setCommandParts, setDockerImageName, setEnv, setExposedPorts, setExtraHosts, setImage, setLinkedContainers, setLogConsumers, setNetwork, setNetworkAliases, setNetworkMode, setPortBindings, setPrivilegedMode, setStartupAttempts, setStartupCheckStrategy, setVolumesFroms, setWaitStrategy, setWorkingDirectory, start, starting, stop, toString, waitingFor, withClasspathResourceMapping, withClasspathResourceMapping, withCommand, withCommand, withCreateContainerCmdModifier, withEnv, withEnv, withExposedPorts, withExtraHost, withFileSystemBind, withLogConsumer, withMinimumRunningDuration, withNetwork, withNetworkAliases, withNetworkMode, withPrivilegedMode, withStartupAttempts, withStartupCheckStrategy, withStartupTimeout, withVolumesFrom, withWorkingDirectory
apply, failed, succeeded
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getContainerName
public JdbcDatabaseContainer(@NonNull java.lang.String dockerImageName)
public JdbcDatabaseContainer(@NonNull java.util.concurrent.Future<java.lang.String> image)
protected abstract java.lang.String getDriverClassName()
public abstract java.lang.String getJdbcUrl()
public java.lang.String getDatabaseName()
public abstract java.lang.String getUsername()
public abstract java.lang.String getPassword()
protected abstract java.lang.String getTestQueryString()
public SELF withUsername(java.lang.String username)
public SELF withPassword(java.lang.String password)
public SELF withDatabaseName(java.lang.String dbName)
protected void waitUntilContainerStarted()
waitUntilContainerStarted
in class org.testcontainers.containers.GenericContainer<SELF extends JdbcDatabaseContainer<SELF>>
public java.sql.Driver getJdbcDriverInstance()
public java.sql.Connection createConnection(java.lang.String queryString) throws java.sql.SQLException
queryString
- query string parameters that should be appended to the JDBC connection URL.
The '?' character must be includedjava.sql.SQLException
- if there is a repeated failure to create the connectionprotected java.lang.String constructUrlForConnection(java.lang.String queryString)
Connection
s.
This should be overridden if the JDBC URL and query string concatenation or URL string
construction needs to be different to normal.queryString
- query string parameters that should be appended to the JDBC connection URL.
The '?' character must be includedprotected void optionallyMapResourceParameterAsVolume(@NotNull @NotNull java.lang.String paramName, @NotNull @NotNull java.lang.String pathNameInContainer, @NotNull @NotNull java.lang.String defaultResource)
public void setParameters(java.util.Map<java.lang.String,java.lang.String> parameters)
public void addParameter(java.lang.String paramName, java.lang.String value)
protected int getStartupTimeoutSeconds()
protected int getConnectTimeoutSeconds()