Tôi có EJB A
gọi EJB B
. Giao diện người dùng không nên chờ quá 30 giây để trả lời. Nếu một số dữ liệu bị thiếu, nó sẽ trả về một phần phản hồi.Gọi EJB với thời gian chờ
Làm cách nào để xác định thời gian chờ (giới hạn thời gian 30 giây) trên EJB B
?
Tôi có thể xác định EJB B
là Asynchronous
trả về Future
và sau đó thực hiện Future.get(30, TimeUnit.SECONDS)
. Nhưng nó là giải pháp tốt nhất?
cảm ơn bạn
P.S. Tôi sử dụng glassfish 3.1
Tôi không có nghĩa là làm gián đoạn EJB. Ý tưởng là trả lại phản hồi (hoặc "lỗi hết thời gian chờ") cho giao diện người dùng sau 30 giây. – lili
Chắc chắn, nhưng thời gian ra khỏi front-end mà không có thời gian ra back-end có vẻ không khôn ngoan. Cuối cùng, các chủ đề back-end của bạn sẽ được tiêu thụ và các giao diện front-end của bạn sẽ phải chờ đợi. Với những gì bạn đã nói, sử dụng '@ Không đồng bộ' có lẽ là tốt nhất. –