8.12.2. エラー処理


同時要求を対話型コンポーネントに対して行列待ちに入れるよう十分注意をしてアプリケーションを設計しても、 サーバーがオーバーロードとなる危険性はあります。 オーバーロードが発生すると concurrent-request-timeout の期限が切れるまでに全要求は処理されなくなります。 こうした場合、 Seam は ConcurrentRequestTimeoutException を送出します。これは pages.xml で処理されます。 HTTP 503 エラーの送信が推奨されます。
<exception class="org.jboss.seam.ConcurrentRequestTimeoutException" 
           log-level="trace"> 
  <http-error error-code="503" /> 
</exception>
Copy to Clipboard Toggle word wrap

注記

現在サーバーは一時的な過負荷またはサーバーメンテナンスのため要求を処理することができません。これは一時的な状態で、しばらく待つと緩和されることを意味しています。
代わりにエラーページにリダイレクトすることができます。
<exception class="org.jboss.seam.ConcurrentRequestTimeoutException" 
           log-level="trace"> 
  <end-conversation/> 
  <redirect view-id="/error.xhtml"> 
    <message>
      The server is too busy to process your request, 
      please try again later
    </message> 
  </redirect> 
</exception>
Copy to Clipboard Toggle word wrap
ICEfaces、 RichFaces Ajax、 Seam Remoting はいずれも HTTP エラーコードを処理することができます。 Seam Remoting は HTTP エラーを表示するダイアログボックスを出現させます。ICEfaces はエラーをその接続状態のコンポーネント内に表示します。 RichFaces はユーザー定義が可能なコールバックで HTTP エラーを処理するのに最も完全な対応を行います。 たとえば、 エラーメッセージをユーザーに表示するには以下のようにします。
<script type="text/javascript"> 
  A4J.AJAX.onError = function(req,status,message) { 
    alert("An error occurred"); 
  }; 
</script>
Copy to Clipboard Toggle word wrap
エラーコード以外で、 セッションがタイムアウトしたことによりビューの有効期限切れをサーバーが報告する場合は RichFaces で別のコールバック機能を使用します。
<script type="text/javascript"> 
  A4J.AJAX.onExpired = function(loc,message) { 
    alert("View expired"); 
  }; 
</script>
Copy to Clipboard Toggle word wrap
別の方法として、RichFaces にエラーを処理させることもできます。この場合、 ユーザーは「ビューの状態を復元できませんでした、ページを再ロードしますか ?」というプロンプトを受け取ります。 このメッセージをグローバルにカスタマイズするには、アプリケーションのリソースバンドルで次のメッセージキーを設定します。
AJAX_VIEW_EXPIRED=View expired. Please reload the page.
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat