Class ConnectionPoolConfiguration
- java.lang.Object
-
- software.amazon.awssdk.services.rds.model.ConnectionPoolConfiguration
-
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<ConnectionPoolConfiguration.Builder,ConnectionPoolConfiguration>
@Generated("software.amazon.awssdk:codegen") public final class ConnectionPoolConfiguration extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ConnectionPoolConfiguration.Builder,ConnectionPoolConfiguration>
Specifies the settings that control the size and behavior of the connection pool associated with a
DBProxyTargetGroup
.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ConnectionPoolConfiguration.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ConnectionPoolConfiguration.Builder
builder()
Integer
connectionBorrowTimeout()
The number of seconds for a proxy to wait for a connection to become available in the connection pool.boolean
equals(Object obj)
boolean
equalsBySdkFields(Object obj)
<T> Optional<T>
getValueForField(String fieldName, Class<T> clazz)
int
hashCode()
boolean
hasSessionPinningFilters()
For responses, this returns true if the service returned a value for the SessionPinningFilters property.String
initQuery()
One or more SQL statements for the proxy to run when opening each new database connection.Integer
maxConnectionsPercent()
The maximum size of the connection pool for each target in a target group.Integer
maxIdleConnectionsPercent()
A value that controls how actively the proxy closes idle database connections in the connection pool.List<SdkField<?>>
sdkFields()
static Class<? extends ConnectionPoolConfiguration.Builder>
serializableBuilderClass()
List<String>
sessionPinningFilters()
Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection.ConnectionPoolConfiguration.Builder
toBuilder()
String
toString()
Returns a string representation of this object.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
maxConnectionsPercent
public final Integer maxConnectionsPercent()
The maximum size of the connection pool for each target in a target group. The value is expressed as a percentage of the
max_connections
setting for the RDS DB instance or Aurora DB cluster used by the target group.If you specify
MaxIdleConnectionsPercent
, then you must also include a value for this parameter.Default:
10
for RDS for Microsoft SQL Server, and100
for all other enginesConstraints:
-
Must be between 1 and 100.
- Returns:
- The maximum size of the connection pool for each target in a target group. The value is expressed as a
percentage of the
max_connections
setting for the RDS DB instance or Aurora DB cluster used by the target group.If you specify
MaxIdleConnectionsPercent
, then you must also include a value for this parameter.Default:
10
for RDS for Microsoft SQL Server, and100
for all other enginesConstraints:
-
Must be between 1 and 100.
-
-
-
maxIdleConnectionsPercent
public final Integer maxIdleConnectionsPercent()
A value that controls how actively the proxy closes idle database connections in the connection pool. The value is expressed as a percentage of the
max_connections
setting for the RDS DB instance or Aurora DB cluster used by the target group. With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database.If you specify this parameter, then you must also include a value for
MaxConnectionsPercent
.Default: The default value is half of the value of
MaxConnectionsPercent
. For example, ifMaxConnectionsPercent
is 80, then the default value ofMaxIdleConnectionsPercent
is 40. If the value ofMaxConnectionsPercent
isn't specified, then for SQL Server,MaxIdleConnectionsPercent
is5
, and for all other engines, the default is50
.Constraints:
-
Must be between 0 and the value of
MaxConnectionsPercent
.
- Returns:
- A value that controls how actively the proxy closes idle database connections in the connection pool. The
value is expressed as a percentage of the
max_connections
setting for the RDS DB instance or Aurora DB cluster used by the target group. With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database.If you specify this parameter, then you must also include a value for
MaxConnectionsPercent
.Default: The default value is half of the value of
MaxConnectionsPercent
. For example, ifMaxConnectionsPercent
is 80, then the default value ofMaxIdleConnectionsPercent
is 40. If the value ofMaxConnectionsPercent
isn't specified, then for SQL Server,MaxIdleConnectionsPercent
is5
, and for all other engines, the default is50
.Constraints:
-
Must be between 0 and the value of
MaxConnectionsPercent
.
-
-
-
connectionBorrowTimeout
public final Integer connectionBorrowTimeout()
The number of seconds for a proxy to wait for a connection to become available in the connection pool. This setting only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions. For an unlimited wait time, specify
0
.Default:
120
Constraints:
-
Must be between 0 and 3600.
- Returns:
- The number of seconds for a proxy to wait for a connection to become available in the connection pool.
This setting only applies when the proxy has opened its maximum number of connections and all connections
are busy with client sessions. For an unlimited wait time, specify
0
.Default:
120
Constraints:
-
Must be between 0 and 3600.
-
-
-
hasSessionPinningFilters
public final boolean hasSessionPinningFilters()
For responses, this returns true if the service returned a value for the SessionPinningFilters property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
sessionPinningFilters
public final List<String> sessionPinningFilters()
Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior.
Default: no session pinning filters
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasSessionPinningFilters()
method.- Returns:
- Each item in the list represents a class of SQL operations that normally cause all later statements in a
session using a proxy to be pinned to the same underlying database connection. Including an item in the
list exempts that class of SQL operations from the pinning behavior.
Default: no session pinning filters
-
initQuery
public final String initQuery()
One or more SQL statements for the proxy to run when opening each new database connection. Typically used with
SET
statements to make sure that each connection has identical settings such as time zone and character set. For multiple statements, use semicolons as the separator. You can also include multiple variables in a singleSET
statement, such asSET x=1, y=2
.Default: no initialization query
- Returns:
- One or more SQL statements for the proxy to run when opening each new database connection. Typically used
with
SET
statements to make sure that each connection has identical settings such as time zone and character set. For multiple statements, use semicolons as the separator. You can also include multiple variables in a singleSET
statement, such asSET x=1, y=2
.Default: no initialization query
-
toBuilder
public ConnectionPoolConfiguration.Builder toBuilder()
- Specified by:
toBuilder
in interfaceToCopyableBuilder<ConnectionPoolConfiguration.Builder,ConnectionPoolConfiguration>
-
builder
public static ConnectionPoolConfiguration.Builder builder()
-
serializableBuilderClass
public static Class<? extends ConnectionPoolConfiguration.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFields
in interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
-