7.12. 例外の管理


JSF には例外処理に関して制限があります。 この問題に対処するため、 Seam はアノテーションを付けるか XML ファイルで宣言することで例外クラスの処理を定義することができます。これは EJB3 標準の @ApplicationException アノテーションと組み合わされ、例外がトランザクションロールバックの原因となるかどうかを指定します。

7.12.1. 例外およびトランザクション

Bean のビジネスメソッドにより例外が送出されるときに、その例外が現在のトランザクションに直ちにロールバックが必要としてマークするかどうかを制御する明確なルールを EJB は規定します。システム例外 により常にトランザクションロールバックが発生します。アプリケーション例外 はデフォルトではロールバックを発生させませんが @ApplicationException(rollback=true) が指定されるとロールバックが発生します (アプリケーション例外とはすべてのチェック例外、 または @ApplicationException アノテーションが付いたすべての非チェック例外です。 システム例外とは @ApplicationException アノテーションがないすべての非チェック例外です)。

注記

ロールバックとしてトランザクションにマークが付けられるのと、実際にトランザクションをロールバックすることは異なります。例外ルールではトランザクションにロールバックのマークが付けられることだけ言及していますが、 例外が送出された後でもそれはアクティブのままである可能性があります。
Seam は EJB3 例外のロールバックルールを Seam JavaBean コンポーネントに対しても適用します。
これらのルールは Seam コンポーネント層内でのみ適用されます。 例外が Seam コンポーネント層の外側で発生すると Seam はアクティブなトランザクションをすべてロールバックします。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat