2010-03-11 70 views
6

我正在使用Seam並得到「併發呼叫對話」錯誤。這是什麼意思?併發呼叫對話

我有一個需要5分鐘處理的按鈕。我在2分鐘內得到這個錯誤。將併發請求超時設置爲10分鐘似乎不起作用。有沒有辦法阻止所有其他請求,直到第一個請求完成?

+0

@bhargav你能否提供更多信息:components.xml中,你的豆子,耳朵或戰爭應用? – 2010-03-12 00:12:08

回答

1

不認爲阻止所有其他請求執行這種長操作是個好主意,更好的方法是讓它異步運行。

你可以到這裏看看http://achorniy.wordpress.com/2009/07/14/avoid-concurrent-call-to-conversation/,但是這是解決方案,讓您可以在較短的時間週期阻止其他要求(當然它可以阻止他們很長一段時間,但是,這不是一般的好方法,使用戶等待這樣的請求) 你可以在這裏看一個很好的例子,說明如何組織UI以在後端使用異步工作(請參閱richfaces livedemo「Ajax支持」推/拉示例)

0

這裏是解決方案 - 使用richfaces progressBar,調用接口異步方法來運行長進程並將帶有參數的ProgressBean傳遞給async-method(它應該可以從您在JSF中使用的yuor會話bean中訪問),並定期更新長時間進度狀態荷蘭國際集團的任務 這種方法進行詳細說明這裏[在煤層/ RichFaces的動態過程的進展] [1]

[1] http://achorniy.wordpress.com/2010/10/22/show-dynamic-process-progress-in-seam-richfaces/