3.7.1 例外の処理

JoltによるTuxedoサービスの呼出し開始時にエラーや障害が発生した場合、Javaの例外を使用してアプリケーションに報告されます。常にtry / catchブロックにcall()メソッドを入れ、例外が発生した場合は適切な処理を行う必要があります。call()メソッドがスローする可能性のある例外とその理由を以下に示します。

  • bea.jolt.pool.ApplicationException

Tuxedoサービスのロジックでエラーが発生すると、この例外がスローされます。たとえば、クライアントがwithdrawalサービスを使用して、現在の残高を超える金額を不正に引き出そうとした場合などに発生します。TuxedoサービスがTPESVCFAILを戻すと、ApplicationExceptionがスローされます。サービス呼出し時に返されるResultオブジェクトに、アプリケーション固有のエラーに関する情報を含めることができます。Resultオブジェクトには、ApplicationException.getResult()メソッドを使用してアクセスできます。

Joltではbea.jolt.ApplicationExceptionというフル・パッケージ名で別の例外が定義されているので、この例外ではフル・パッケージ名bea.jolt.pool.ApplicationExceptionを使用してください

  • bea.jolt.JoltException

    JoltExceptionは、以下に示すすべての例外のスーパー・クラスです。これらの例外はすべて、アプリケーション・ロジックに違反するシステム・エラーが発生したことを示します。JoltExceptionについては、Oracle Joltの使用のOracle Joltの例外に関する項を参照してください。

  • bea.jolt.pool.SessionPoolException

    Joltのセッション・プールで例外が発生すると、この例外がスローされます。たとえば、すべてのセッションがビジー状態の場合や、セッション・プールが中断された場合などに発生します。

  • bea.jolt.ServiceException

    アプリケーションを含むTuxedoサービスの起動に関するエラーが発生すると、この例外がスローされます。たとえば、サービスのタイムアウトや、存在しないサービスが呼び出された場合などに発生します。

  • bea.jolt.TransactionException

    トランザクションの起動、コミット、または中止に失敗すると、この例外がスローされます。