sql >> データベース >  >> RDS >> PostgreSQL

JooQ DSLContextの.close()を呼び出すときに、接続が閉じられるのはいつですか。

    現在の回答

    この質問は、 CloseableDSLContext AutoCloseableの場合 セマンティクスは、より汎用的な DSLContextから再び削除されました 。互換性のない変更は、この質問と他のいくつかの質問で表現された混乱に対処するために、jOOQ3.14で実装されました。

    を参照してください。

    https://github.com/jOOQ/jOOQ/issues/10512

    歴史的な答え

    DSLContext AutoCloseableになりました jOOQ3.7のJava8ディストリビューションを使用します。 DSLContext.close() メソッドのJavadocは、この close()のセマンティクスを説明しています。 電話:

    DSLContextを作成したときに割り当てられたリソースのみ リリースされます。 DSLContextに渡したリソースではありません 。あなたの場合、この try-with-resourcesでリソースを割り当てていません。 ステートメントなので、最後にリリースされるものはありません:

    try (DSLContext context = DSL.using(configuration); ...) { ... }
    

    新しい接続を割り当てた場合、これは異なります。 すぐそこに:

    try (DSLContext context = DSL.using("jdbc:h2:~/test", "sa", ""); ...) { ... }
    

    質問について:

    何もない。 jOOQは接続ライフサイクル戦略について何も知らないため、ライフサイクルを自分で管理する必要があります。

    はい。




    1. エラーの原因となるmysqlのトリガー

    2. SQLite3(または一般的なSQL)は、クエリ結果のn番目の行を取得します

    3. WindowsのMySQLサーバーでSSL接続を有効にする方法

    4. MySQLで複数列の主キーで複数の行を選択するにはどうすればよいですか?