Class ConnectionPoolConfiguration
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<ConnectionPoolConfiguration.Builder,ConnectionPoolConfiguration>
Specifies the settings that control the size and behavior of the connection pool associated with a
DBProxyTargetGroup.
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionbuilder()final IntegerThe number of seconds for a proxy to wait for a connection to become available in the connection pool.final booleanfinal booleanequalsBySdkFields(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz) final inthashCode()final booleanFor responses, this returns true if the service returned a value for the SessionPinningFilters property.final StringOne or more SQL statements for the proxy to run when opening each new database connection.final IntegerThe maximum size of the connection pool for each target in a target group.final IntegerA value that controls how actively the proxy closes idle database connections in the connection pool.static Class<? extends ConnectionPoolConfiguration.Builder> 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.Take this object and create a builder that contains all of the current property values of this object.final StringtoString()Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
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_connectionssetting 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:
10for RDS for Microsoft SQL Server, and100for 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_connectionssetting 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:
10for RDS for Microsoft SQL Server, and100for all other enginesConstraints:
-
Must be between 1 and 100.
-
-
-
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_connectionssetting 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, ifMaxConnectionsPercentis 80, then the default value ofMaxIdleConnectionsPercentis 40. If the value ofMaxConnectionsPercentisn't specified, then for SQL Server,MaxIdleConnectionsPercentis5, 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_connectionssetting 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, ifMaxConnectionsPercentis 80, then the default value ofMaxIdleConnectionsPercentis 40. If the value ofMaxConnectionsPercentisn't specified, then for SQL Server,MaxIdleConnectionsPercentis5, and for all other engines, the default is50.Constraints:
-
Must be between 0 and the value of
MaxConnectionsPercent.
-
-
-
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.
Default:
120Constraints:
-
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.
Default:
120Constraints:
-
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
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
One or more SQL statements for the proxy to run when opening each new database connection. Typically used with
SETstatements 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 singleSETstatement, 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
SETstatements 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 singleSETstatement, such asSET x=1, y=2.Default: no initialization query
-
toBuilder
Description copied from interface:ToCopyableBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToCopyableBuilder<ConnectionPoolConfiguration.Builder,ConnectionPoolConfiguration> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojoIndicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojoclass, and is generated based on a service model.If an
SdkPojoclass does not have any inherited fields,equalsBySdkFieldsandequalsare essentially the same.- Specified by:
equalsBySdkFieldsin interfaceSdkPojo- Parameters:
obj- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-