Tôi đang học Akka và tôi đang cố gắng tìm ra cách để các diễn viên trò chuyện với nhau (hãy gọi cho họ A
và B
). Đây không phải là kịch bản yêu cầu/phản hồi, A
và B
đang gửi từng thư khác bất kỳ lúc nào.Akka actorFor vs qua ActorRef
Hiện tại, tôi có hai diễn viên anh chị em gửi tin nhắn theo cả hai hướng cho nhau. Cả hai đều được tạo trực tiếp trên ActorSystem
. Ban đầu, tôi đã chuyển số ActorRef
của A
vào hàm tạo của B
. Nhưng tôi không thể chuyển số ActorRef
của B
cho hàm tạo của A
vì nó chưa tồn tại, tức là tôi không thể sử dụng phương pháp này để tham khảo vòng tròn.
Tôi đã đọc khoảng actorFor
và điều này sẽ cho phép tôi tra cứu một diễn viên bằng đường dẫn của nó. Tuy nhiên, tôi không thoải mái với thiết lập này, bởi vì nếu đường dẫn thay đổi, nó sẽ không bị trình biên dịch bắt.
Một lựa chọn khác, xem xét tất cả các diễn viên có quyền truy cập vào đó là cha mẹ, là để vượt qua các thông điệp từ A
và B
cho phụ huynh và sau đó đã phụ huynh vượt qua được thông báo trở lại xuống A
và B
. Nhưng cặp vợ chồng này cha mẹ các loại tin nhắn được chuyển qua lại.
Các chiến lược là những người sử dụng để làm cho các diễn viên nhận thức được nhau? Tôi có quá thận trọng khi nhìn lên các diễn viên bằng con đường không?
Bạn đã thử sử dụng 'lazy val's khi instantiating' ActorRef 's? Tôi có thể tưởng tượng điều này sẽ giúp giải quyết sự phụ thuộc vòng tròn. Giả sử bạn sử dụng Scala của khóa học ... – agilesteel
Tôi chỉ cho rằng một đi và nó hoạt động. Tôi không biết bạn tham khảo một val lười biếng trước khi nó được xác định - những thứ điên rồ! Cảm ơn vì tiền hỗ trợ. Tôi vẫn sẽ được quan tâm để biết làm thế nào mọi người cảm thấy về việc vượt qua ActorRefs vs đường dẫn. – Geoff
Đảm bảo bạn đã đọc http://doc.akka.io/docs/akka/2.0.2/general/addressing.html. – sourcedelica