Ejb-exception-handling
提供:Dev Guides
EJB-例外処理
EJBは、通常分散環境に基づいているエンタープライズアプリケーションの一部です。 そのため、発生する可能性のある通常の例外とは別に、通信障害、セキュリティ許可、サーバー停止などの例外が発生する可能性があります。
EJBコンテナは、2つの方法で例外を考慮します-
- アプリケーション例外-ビジネスルールの違反またはビジネスロジックの実行中に例外が発生した場合。
- システム例外-ビジネスロジックまたはビジネスコードが原因ではない例外。 RuntimeException、RemoteExceptionはSystemExceptionです。 たとえば、EJBルックアップ中のエラー。 RuntimeException、RemoteExceptionはSystemExceptionです。
EJBコンテナはどのように例外を処理しますか?
- システム例外*が発生すると、EJBコンテナは例外をインターセプトし、トランザクションをロールバックし、クリーンアップタスクを開始します。 例外をRemoteExceptionにラップし、クライアントにスローします。
アプリケーション例外の処理
通常、アプリケーション例外はセッションEJBメソッドでスローされます。これらはビジネスロジックの実行を担当するメソッドであるためです。 アプリケーション例外は、ビジネスメソッドのthrows句で宣言し、ビジネスロジックが失敗した場合にスローする必要があります。
システム例外の処理
システムの例外は、名前の検索が失敗したり、データの取得中にSQLエラーが発生したりするなど、いつでも発生する可能性があります。 そのような場合、そのような例外はEJBExceptionでラップされ、クライアントにスローされる必要があります。
クライアント側で、EJBExceptionを処理します。