2010-03-11 55 views
6

Tôi đang sử dụng Seam và nhận được lỗi "Cuộc gọi đồng thời trò chuyện". Điều đó có nghĩa là gì?Cuộc gọi đồng thời với cuộc trò chuyện

Tôi có nút mất 5 phút để xử lý. Tôi nhận được lỗi này trong vòng 2 phút. Đặt đồng thời-yêu cầu-timeout đến 10 phút dường như không hoạt động. Có cách nào để chặn tất cả các yêu cầu khác cho đến khi yêu cầu đầu tiên hoàn thành không?

+0

@bhargav bạn có thể cung cấp thêm thông tin: components.xml, đậu của bạn, tai hoặc ứng dụng chiến tranh ?? –

Trả lời

1

không nghĩ rằng ý tưởng tuyệt vời là chặn tất cả yêu cầu khác về hoạt động lâu dài SUCH, cách tiếp cận tốt hơn là để chạy nó một cách không đồng bộ. Bạn có thể xem tại đây http://achorniy.wordpress.com/2009/07/14/avoid-concurrent-call-to-conversation/ nhưng đây là giải pháp cho phép bạn chặn các yêu cầu khác trong thời gian ngắn (tất nhiên nó có thể chặn chúng trong một thời gian dài nhưng đó không phải là cách tiếp cận tốt nói chung để làm cho người dùng để chờ các yêu cầu đó) Bạn có thể xem ví dụ điển hình về cách giao diện người dùng có thể hoạt động với async trên chương trình phụ trợ (xem richfaces livedemo "Ajax Support" Ví dụ Push/Pull)

0

Đây là giải pháp - sử dụng hàm richfaces progressBar, gọi phương thức không đồng bộ đường may để chạy quá trình dài và truyền ProgressBean với các tham số đến phương thức async (nó có thể truy cập từ bean hội thoại yuor mà bạn sử dụng trong JSF) và cập nhật định kỳ trạng thái tiến trình trong thời gian dài ing nhiệm vụ Cách tiếp cận này được giải thích chi tiết ở đây [Hiện tiến trình năng động ở Seam/Richfaces] [1]

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

Các vấn đề liên quan