Seam リファレンス ガイドには、次の段落があります。
components.xml で、同時リクエストのタイムアウト (ミリ秒単位) の適切なデフォルトを設定できます。
<core:manager concurrent-request-timeout="500" />
ただし、500 ミリ秒では、対処しなければならないほとんどのケース、特に会話アクセスの厳しい制限の継ぎ目では十分ではないことがわかりました。
私たちのアプリケーションでは、ページ スコープの ajax リクエスト (さまざまなユーザー アクションによってトリガーされる)、いくつかのグローバル スコープのポーリング通知ロジック (ヘッダーの一部であるため、すべてのページに含まれます)、およびアクションを呼び出したり他のページに移動したりする通常のリンクの組み合わせがあります。ページ。
したがって、サイトに大きな負荷がかかっていなくても、会話例外への恐ろしい同時アクセスが頻繁に発生します。
オプションをかなり調査した後、推奨される解決策のいずれも問題を完全に解決できないようだったため (グローバルなすべての ajax リクエストのキューは、ポーリング呼び出しの 1 つが進行中のときに、ユーザーがリンクをクリックすることを決定する危険にさらされたままになります)。また、間違ったタイミングでリンクをクリックしたという理由だけでエラー ページが表示されるのではなく、ユーザーに 1 ~ 2 秒待ってもらいたいと考えています。
そして、ここで質問があります: 何か明らかに欠けているものはありますか? seam でこの問題 (ユーザー主導の対話と混合された ajax リクエスト) をどのように解決しますか? ajax リクエストの進行中にページ上のすべてのリンクを無効にする (あるブログ ページで提案されているように) ことは、実際には実行可能なオプションではありません。
他の提案はありますか?
ティア、アンドレイ