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
トランザクションの起動、コミット、または中止に失敗すると、この例外がスローされます。
親トピック: トランザクションを使用する