【问题标题】:Release Idle DataSource in Multitenant Spring application?在多租户 Spring 应用程序中释放空闲数据源?
【发布时间】:2018-07-20 10:44:53
【问题描述】:

我正在使用多租户 Spring Boot 应用程序。我正在使用每个租户一个数据库的概念。我已经配置了动态数据库创建和连接。这些数据库配置也存储在地图中。现在我想实现一种方法来清除长时间空闲的DataSource?

【问题讨论】:

  • 嗨,请在此处阅读 -> stackoverflow.com/help/how-to-ask,然后编辑您的问题 :)
  • 除了在 Map 中存储数据库连接详细信息之外,您还可以使用 另一个数据库表,它将提供基于 tenantId 的动态连接,并且只会加载 1 个数据源
  • @emotionlessbananas 将详细信息存储在任何地方都可以。但是我的要求是如何找到特定的数据源长时间空闲?
  • 在这种情况下,您可以查看 test-while-idlevalidation-query 属性
  • 我是否必须像下面的答案stackoverflow.com/a/48413427/7458887 那样初始化每个数据源

标签: java spring spring-boot spring-data-jpa multi-tenant


【解决方案1】:

我假设,您创建数据源并尝试将它们存储在地图中,

在您创建 DS 时。你可以提一下

basicDataSource.setMinIdle(multitenantConnectionPoolConfig.getMinIdle());

因此连接池确保在最小空闲时间到期后池中仅存在活动连接。

【讨论】:

    猜你喜欢
    • 2012-04-26
    • 1970-01-01
    • 2017-04-29
    • 2018-12-03
    • 2020-08-16
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    相关资源
    最近更新 更多