2015-05-27 11 views
6

Trước đây tôi đã sử dụng đối tượng Tương lai Java và Await.result để tìm phản hồi từ một diễn viên Akka. Điều này cho phép tôi tạo một cầu nối giữa cơ sở mã Java 6 và Akka.Khi nào nên chọn giữa việc sử dụng Hộp thư đến của diễn viên hoặc tương lai khi chờ phản hồi?

Nhược: Chủ đề chặn trong dài chạy nhiệm vụ

tôi đã chuyển sang Java 8 và đang nhìn vào cách sử dụng non-blocking hỗ trợ để thay thế Await.Result với một callback. Về lý thuyết, điều này sẽ hoạt động tốt. Tuy nhiên tôi nhận thấy trong phiên bản mới nhất của Typesafe HelloAkka hướng dẫn với Java 8 rằng Hộp thư đến Akka được sử dụng để xử lý phản hồi thay vì Tương lai;

  • Hộp thư đến có sử dụng tùy chọn ưa thích trong tương lai không?
  • Khi nào tương lai (hoặc tương lai có thể hoàn thành) là một lựa chọn tốt hơn?
+1

Vui lòng xem ["Câu hỏi có nên bao gồm" thẻ "trong tiêu đề của chúng không?"] (Http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), trong đó sự đồng thuận là "không, họ không nên"! –

Trả lời

0

Cả hai câu trả lời trong Stackoverflow bài đăng đã thêm ngữ cảnh có thể trả lời câu hỏi của bạn. Inbox (với kiến ​​thức của tôi) chỉ đơn giản là một cách thay thế cho việc sử dụng tương lai và gọi các diễn viên khác, thay vào đó bạn cho phép các diễn viên khác thẩm vấn hộp thư đến của bạn (diễn viên như đối tượng) từ bên ngoài ... xem this. Ngoài ra, hãy nhìn vào "Cameo" patter của Jamie Allen. Tôi đã đăng một ví dụ thô trên this bài đăng Stackoverflow.

0

nếu bạn muốn tạo cầu nối với thế giới bên ngoài, bạn định sử dụng hộp thư đến như thế nào? Tôi đoán tất cả các bạn có là một ref để diễn viên.

mất đang được xem xét những thứ như

  • bao lâu bạn có thể chờ đợi trả lời
  • phát lại không bao giờ có thể trở lại - cách bạn phản ứng với
  • đọc về bộ phận ngắt mạch mà bảo vệ mã khách hàng của bạn với khả năng lỗi với các dịch vụ (ở đây hệ thống akka)

Tôi đã chọn java's CompletableFuture làm giao diện và dịch tương lai của akka sau khi yêu cầu hoặc cho biết hoạt động.

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