Flyway не закрывает соединение после вызова connection.close - PullRequest
0 голосов
/ 29 марта 2020

Я использую Flyway в своем приложении. Всякий раз, когда приложение загружается, я вызываю функцию flyway.migrate (). После запуска моего приложения мне не понадобится пролетный путь для каких-либо дальнейших задач, поэтому я хотел бы освободить этот ресурс и закрыть соединение. следующий блок описывает, что я пытаюсь сделать:

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

Кажется, что соединение никогда не закрывается, так как я получаю «ложную» печать каждый раз.

1 Ответ

0 голосов
/ 30 марта 2020

Поскольку вы закрываете соединение, а не источник данных.

Что сводится к следующему:

// 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...