2011-12-08 11 views
3

私は、完了までに最大10秒かかる可能性のある巨大なテーブル(7 mil +レコード)からリストをフェッチするリクエストを持つアプリケーションを持っています。ボタン付きJBoss Seamキャンセルリクエスト

cancelボタンを使用して、前の要求が完了するのを待つのではなく、要求をキャンセルする方法はありますか。現在、ユーザーがcancelボタン(ページのリダイレクト)をクリックしようとすると、ConcurrentRequestTimeoutExceptionがスローされます。

500 msに設定されているため、このタイムアウトを増やすことができましたが、ユーザーは以前の要求が完了するまで待つ必要があります。以前のリクエストをキャンセルして直ちにリダイレクトしてほしい。

これは可能ですか?

ボタンのコードは:のcommandButtonとpage.xmlファイルにリダイレクトする前に会話を終了:

<s:button id="cancelEdit" value="Cancel" propagation="end" 
    view="/reference/ProviderList.xhtml"> 
</s:button> 

私も時間を使用してみました。

答えて

0

キャンセルボタンにactionListener = "#{conversation.leave}"アトリビュートを入力して、会話を止めておいてください。代わりに、propagation = "none"属性を追加してください。

+0

申し訳ありませんが、これらの詳細を追加するのを忘れていました。私は自分の投稿を更新しました。しかし、はい、上記のボタンの伝播とpage.xml before-redirectで終わる会話を終了しようとしました。私は何もせずに終わりを使用していることが重要ではないと思いますか? – Mike

+0

会話を終了(伝播=終了)してから放置する(伝播=なし)には大きな違いがあります。エンディングは、単に長い会話を通常の会話にします(同じ会話IDを再利用する)。それを残すと、会話はバックグラウンドに残り、新しい会話が開始されます。ところで、私は伝播をテストしました=あなたのユースケースには無し、完全に動作します。会話を終了しても問題は解決しません。 – dcernahoschi

+0

アドバイスをいただきありがとうございます。それは今働く。 – Mike

関連する問題