Class BasicDbAccessExceptionFactory

java.lang.Object
nablarch.core.db.connection.exception.BasicDbAccessExceptionFactory
All Implemented Interfaces:
DbAccessExceptionFactory

public class BasicDbAccessExceptionFactory extends Object implements DbAccessExceptionFactory
DbAccessExceptionFactoryの基本実装クラス。
  • Constructor Details

    • BasicDbAccessExceptionFactory

      public BasicDbAccessExceptionFactory()
  • Method Details

    • createDbAccessException

      public DbAccessException createDbAccessException(String message, SQLException cause, TransactionManagerConnection connection)
      発生したSQL実行時例外の内容に応じたDbAccessExceptionを生成する。

      発生した例外がデータベース接続に関する問題である場合は、DbConnectionExceptionを生成する。 データベース接続に関する問題でない場合は、DbAccessExceptionを生成する。

      発生した例外がデータベース接続に関する問題であるか否かの判定は、 isDbConnectionError(SQLException, TransactionManagerConnection)メソッドに委譲する。
      Specified by:
      createDbAccessException in interface DbAccessExceptionFactory
      Parameters:
      message - エラーメッセージ
      cause - 発生したSQLException
      connection - 例外発生時のデータベース接続
      Returns:
      発生したSQL実行時例外の内容に応じたDbAccessException
    • isDbConnectionError

      protected boolean isDbConnectionError(SQLException cause, TransactionManagerConnection connection)
      発生した例外がデータベース接続に関する問題であるか否かを判定する。

      基本実装では、プロパティに指定されたSQL文と引数に指定されたデータベース接続を使用して、 SQL文を実行することにより判定を行う。

      引数に指定されたデータベース接続がnullの場合、 またはSQL文の実行でDbAccessExceptionが送出された場合はtrueを返す。

      Parameters:
      cause - 発生した例外
      connection - 例外発生時のデータベース接続
      Returns:
      発生した例外がデータベース接続に関する問題である場合はtrue