[keycloak-user] Idle connections are not closed

Кир Мерзликин kirmerzlikin at gmail.com
Thu Jul 13 11:02:10 EDT 2017


Hi all,

I deploy Keycloak server app to Cloud Foundry and use ClearDB service as
relational database for Keycloak.

ClearDB has a restriction, that it closes all connections, that are idle
for 90 seconds.
To not run into the situation, when Keycloak tries to use closed
connection, I've added following datasource configuration (based on Pivotal
recommendations
<https://discuss.pivotal.io/hc/en-us/articles/230433268-Suggested-Configuration-for-Connection-Pools-using-ClearDb>
):

- - - - - - - - -
<datasource jndi-name="java:jboss/datasources/KeycloakDS"
pool-name="KeycloakDS" enabled="true" use-java-context="true">
        <connection-url>jdbc:mysql://
blah.cleardb.net/blah?user=blah&password=blah</connection-url>
        <driver>mysql</driver>
    <pool>
        <min-pool-size>1</min-pool-size>
        <max-pool-size>10</max-pool-size>
    </pool>
    <timeout>
        <idle-timeout-minutes>1</idle-timeout-minutes>
    </timeout>
    <validation>
        <validate-on-match>true</validate-on-match>
        <valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
        <exception-sorter
class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
    </validation>
</datasource>
- - - - - - - - -

But even after applying this configuration I see in the ClearDB management
console that idle connections are closed only after 90 seconds and not
after 60 seconds (1 minute) as it's specified with "idle-timeout-minutes"
parameter.

So, have anybody of you faced similar situation? Or maybe you have some
ideas why these idle connections are not being closed.

Thanks.
Kir


More information about the keycloak-user mailing list