まず、Web アプリで単一のデータベース ユーザー アカウントを使用して接続プールを利用し、アプリの応答性を良好に保つことがベスト プラクティスであることはわかっています。ただし、要件により (いかなる状況でもこれを変更しないように)、各ユーザーをデータベース アカウントで認証する必要があります。
コンテキストは、Android で実行される倉庫管理アプリケーションですが、Web サービスからデータを取得します。このアプリケーションは、ここでの提案によって私の要件により適した技術が示されない限り、おそらくGrails で作成する予定です。アプリケーションの性質上、ユーザーは 1 日に 1 度か 2 度しか認証を必要としない可能性が高いため、パスワードと連結されたユーザー名のハッシュ コードをキーとする HashMap に Connections を保持するだけでよいと考えていました。これにより、アプリケーションはベスト プラクティスと同じまたは類似のパフォーマンス レベルを維持できるはずです。
今、私の問題は、永続化された接続オブジェクトを使用することです。大幅にカスタマイズしないと GORM で使用できないことがわかっているので、groovy.sql.Sql で使用することを計画していました。ほとんどのビジネス ロジックは PL/SQL パッケージに含まれているため、うまく機能します。とりあえず。
私の質問は、groovy.sql.Sql クラスがその Connection オブジェクトをどのように処理するのかということです。それによって接続が閉じられるという問題が発生しますか、それとも HashMap を安全に使用して接続を永続化できますか?