2012-11-21 24 views
9

EventBus của Akka có hoạt động với các diễn viên từ xa không?Akka EventBus có hoạt động với các diễn viên từ xa không?

Theo như tôi có thể nói, nó không thực sự hỗ trợ điều này. Bất cứ ai có thể xác nhận xin vui lòng?

Có vẻ như có thể mã một số diễn viên cung cấp chức năng tương tự. Ví dụ. khởi động một diễn viên từ xa đăng ký EventBus trên máy chủ từ xa và gửi các thông điệp trở lại một diễn viên cục bộ để tái xuất bản trên EventBus cục bộ. Nhưng không có điểm viết này, nếu nó đã được hỗ trợ!

Cảm ơn

Trả lời

11

Các EventBus chính nó là địa phương, có nghĩa là sự kiện không được tự động chuyển sang EventBuses trên các hệ thống khác, nhưng bạn có thể đăng ký bất kỳ ActorRef bạn muốn, bao gồm những người từ xa. Bạn chỉ cần một diễn viên trên nút nơi các sự kiện được tạo:

case class Subscribe(clazz: Class[_]) 
system.actorOf(Props(new Actor { 
    def receive = { 
    case Subscribe(c) => 
     context.system.eventStream.subscribe(sender, c) 
    } 
}), "eventer") 

Sau đó, bạn có thể tìm một người từ máy chủ từ xa và tự đăng ký.

+0

Cảm ơn Roland. Điều đó trông giống như một giải pháp tốt. Tôi đã không xáo trộn rằng tôi sẽ có thể đăng ký một ActorRef từ xa! –

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