クラス Closer

java.lang.Object
org.opengion.fukurou.system.Closer

public final class Closer extends Object
Closer.java は、共通的に使用される close処理を集約した、クラスです。 各種 close() 処理では、Exception が発生しても、どうすることも出来ない ケースが多々あります。また、close() 処理中の Exception の為だけに、 try ~ catch 節を用意しなければならず、finally 節内からの さらなる throw など、コーディング上、本流以外の箇所で、色々と問題が発生します。 ここでは、とりあえず、LogWriter.log するだけにしていますが、 将来的には、エラーを別ファイルにセーブしたり、データベースに書き込んだり 出来ると思います。 また、close 処理とは異なりますが、commit や、rollback など、finally 節に 書き込んで、必ず処理したいが、Exception 発生時に、どうしようもない処理も、 ここに集約していきます。
変更履歴:
6.4.2.0 (2016/01/29) エラー処理を統一的に行います。, 6.4.2.0 (2016/01/29) package変更 fukurou.util → fukurou.system
導入されたバージョン:
JDK5.0,
  • メソッドの詳細

    • ioClose

      public static boolean ioClose(Closeable obj)
      io関連の close 処理時の IOException を無視して、close 処理を行います。 ここでは、処理中のエラーは、System.err に出力するだけで無視します。 これにより、try ~ catch ~ finally 処理で、close を finally 処理から 例外を送出させなくてすむようになります。 引数が、null の場合は、何も処理しません。(正常:trueを返します。)
      パラメータ:
      obj - Closeableインターフェースを実装したIO関連オブジェクト
      戻り値:
      正常:true/異常:false
      変更履歴:
      4.0.0.0 (2007/02/08) 新規追加
    • commit

      public static boolean commit(Connection conn)
      Connection オブジェクトを commit します。 ここでは、処理中のエラーは、System.err に出力するだけで無視します。
      パラメータ:
      conn - コネクションオブジェクト
      戻り値:
      正常:true/異常:false
      変更履歴:
      4.0.0.0 (2007/02/08) 新規追加
    • rollback

      public static boolean rollback(Connection conn)
      Connection オブジェクトをrollbackします。 ここでは、処理中のエラーは、標準出力に出力するだけで無視します。
      パラメータ:
      conn - コネクションオブジェクト
      戻り値:
      正常:true/異常:false
      変更履歴:
      4.0.0.0 (2007/02/08) 新規追加, 8.1.0.4 (2022/01/28) Connection#isClosed で先に判定する。
    • connClose

      public static boolean connClose(Connection conn)
      Connection オブジェクトをcloseします。 ここでは、処理中のエラーは、標準出力に出力するだけで無視します。 ここでは、現実の Connection の close() メソッドを呼び出しますので、 キャッシュ等で使用しているコネクションには適用しないでください。
      パラメータ:
      conn - コネクションオブジェクト
      戻り値:
      正常:true/異常:false
      変更履歴:
      4.0.0.0 (2007/02/08) 新規追加, 5.5.5.0 (2012/07/28) commit追加, 5.9.4.0 (201601//08) commit前にvalidのチェックを行う(10秒でタイムアウト)
    • stmtClose

      public static boolean stmtClose(Statement stmt)
      Statement オブジェクトをクローズします。 ここでは、処理中のエラーは、標準出力に出力するだけで無視します。
      パラメータ:
      stmt - Statementオブジェクト
      戻り値:
      正常:true/異常:false
      変更履歴:
      4.0.0.0 (2007/02/08) 新規追加, 8.1.0.3 (2022/01/21) isClosed()チェック他
    • resultClose

      public static boolean resultClose(ResultSet result)
      ResultSet オブジェクトをクローズします。 ここでは、処理中のエラーは、標準出力に出力するだけで無視します。
      パラメータ:
      result - ResultSetオブジェクト
      戻り値:
      正常:true/異常:false
      変更履歴:
      4.0.0.0 (2007/02/08) 新規追加, 8.1.0.3 (2022/01/21) isClosed()チェック他
    • zipClose

      public static boolean zipClose(ZipFile zipFile)
      ZipFile オブジェクトをクローズします。 Jar ファイルも、このメソッドでクローズします。 ここでは、処理中のエラーは、標準出力に出力するだけで無視します。
      パラメータ:
      zipFile - ZipFileオブジェクト
      戻り値:
      正常:true/異常:false
      変更履歴:
      5.5.2.6 (2012/05/25) findbugs対応に伴い、新規追加
    • autoClose

      public static boolean autoClose(AutoCloseable autoClose)
      AutoCloseable オブジェクトをクローズします。 これは、Java1.7 で導入された、try-with-resourcesブロックの終了時に自動的に呼び出される close() メソッドを、使用します。 基本的には、try-with-resourcesブロックを使用すべきですが、Exception を発生させたくないため ここで、close() する処理を残しておきます。 ちなみに、IO系や、SQL系も、AutoCloseable を継承していますが、独自のエラーメッセージを出せないため、 エラーの内容がわかっている場合は、個々に適したクロースメソッドを呼び出してください。
      パラメータ:
      autoClose - AutoCloseableオブジェクト
      戻り値:
      正常:true/異常:false
      変更履歴:
      6.4.2.0 (2016/01/29) エラー処理を統一的に行います。