空闲连接未关闭

时间:2017-07-26 15:42:13

标签: jdbc database-connection wildfly keycloak cleardb

我将Keycloak服务器应用程序(基于WildFly 10.0.0.Final)部署到Pivotal Cloud Foundry,并将ClearDB服务用作关系数据库。

ClearDB有一个限制,它会关闭所有闲置90秒的连接。

为了不遇到这种情况,当Keycloak尝试使用封闭连接时,我添加了以下数据源配置(基于Pivotal recommendations):

<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>

但即使在应用此配置后,我在ClearDB管理控制台中看到空闲连接仅在90秒后关闭而在60秒(1分钟)之后关闭,因为它被指定为“idle-timeout-”分钟“参数。

我已经在他们的邮件列表中与Keycloak的人谈过,他们建议尝试this stackoverflow question的解决方案,但它没有帮助。他们还说,它看起来不像Keycloak问题,而是Wildfly的问题。

那么,你们中的任何人都面临过类似的情况吗?或者你可能有一些想法为什么这些空闲连接没有被关闭。

谢谢!

0 个答案:

没有答案