【问题标题】:Flyway Doesn't Close Connection After Calling To connection.closeFlyway在调用connection.close后不关闭连接
【发布时间】:2020-07-09 17:43:02
【问题描述】:

我在我的应用程序中使用 flyway。 每当应用程序加载时,我都会调用 flyway.migrate() 函数。 在我的应用程序启动后,我不需要 flyway 来完成任何进一步的任务,因此我想释放这个资源并关闭连接。 以下块描述了我正在尝试做的事情:

 fun initFlywayAndMigrate() {
      val flyway = Flyway.configure()
        .dataSource(
          "jdbc:postgresql://host:ip/db-name",
          "user"),
          "password")
        )
        .connectRetries(3)
        .schemas("my-schema")
        .load()

      flyway.migrate()
      val conn = flyway.configuration.dataSource.connection
      try {
        conn.close()
      } catch (t: Throwable) {
        println(t.message)
      } finally {
        println(flyway.configuration.dataSource.connection.isClosed)
      }
    }

似乎连接从未关闭,因为我每次都得到“错误”打印。

【问题讨论】:

    标签: kotlin vert.x flyway


    【解决方案1】:

    因为您关闭的是连接,而不是数据源。

    这归结为:

    // Get a connection
    val conn = flyway.configuration.dataSource.connection
    
    // Close it
    conn.close()
    
    // Get another connection and see if it's closed
    flyway.configuration.dataSource.connection.isClosed
    

    【讨论】:

      猜你喜欢
      • 2016-11-21
      • 2019-02-01
      • 2022-06-24
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 2012-06-06
      相关资源
      最近更新 更多