4.2.2 リソースのコネクションの取得と解放
Enterprise BeanでJDBC,JMSなどのJ2EEリソースのコネクションを使用する場合,Connectionクラスのcloseメソッドでコネクションを解放してください。コネクションを解放しないと,予期しないうちにリソースを消費し尽くしてしまいます。このような状況を避けるため,次のような点を考慮して実装してください。
-
コネクションをEnterprise Beanクラスのメンバ変数に保持しないようにします。
コネクションをメンバ変数に保持していると,Beanの実行に関係なくコネクションが使用状態のままになり,パフォーマンスが低下します。そのため,SQL実行時にコネクションの取得と解放をするようにしてください。
-
コネクションプールを設定します。
コネクションプールを設定すると,物理的コネクションを再利用するためコネクション取得のオーバーヘッドを削減できます。また,JTAのトランザクション配下で実行する場合はコネクションプールの設定をする必要があります。