2015-05-27 11 views
6

Önceden bir Akka aktörünün yanıtını almak için Java Future nesnesini ve Await.result kullanıyordum. Bu Java 6 kod tabanı ve Akka arasında bir köprü oluşturmama izin verdi.Yanıt beklerken Aktör Gelen Kutusu veya Gelecekler arasından ne zaman seçim yapılır?

Dezavantajları: Uzun çalışan görevler

Java 8 taşındı ve ettik sırasında engelleme konu bir geri arama ile Await.Result yerine engellenmeyen destek yararlanarak bakıyordu. Teoride bu iyi çalışacaktır. Ancak Java 8 ile Typesafe HelloAkka öğreticisinin en son sürümünde Akka Inbox'ın Gelecekten ziyade cevabı ele almak için kullanıldığını fark ettim;

  • Gelen Kutusu Gelecekte tercih edilen bir seçenek kullanıyor mu?
  • Gelecek (ya da Konforlu Gelecek) ne zaman daha iyi bir seçenek olabilir?
+1

bakınız [ "başlıklarında?‘Etiketleri’Meli sorular şunlardır"] (http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), nerede Mutabakat "hayır, yapmamalılar"! –

cevap

0

Bu Stackoverflow numaralı iletideki her iki yanıt da, sorunuzu yanıtlayabilen bağlam ekledi. Gelen Kutusu (benim bilgime göre), geleceği kullanmak ve diğer aktörleri aramak için bir alternatiftir, bunun yerine diğer aktörlerin gelen kutunuzu (aktör benzeri nesne) sorgulamasını sağlarsınız. Bkz. this. Ayrıca, Jamie Allen'ın "Cameo" patterine bir bakın. this Stackoverflow yayınında kaba bir örnek yayınladım.

0

Dış dünya ile bir köprü oluşturmak istiyorsanız, gelen kutuyu nasıl kullanacaksınız? Sanırım sahip olduğun tek şey oyuncuya bir ref. Eğer cevap için bekleyin ne kadar süre

  • gibi konular dikkate altında

    almak

  • asla geri dönemez
  • tekrar - Eğer devre kesiciler hakkında böyle
  • okuma nasıl tepki mümkün olan istemci kod korur hangi hizmetlerle ilgili hatalar (burada akka sistemi)

Java'nın CompletableFuture'ını arayüz olarak seçerim ve operasyondan sonra akka'nın geleceklerini çeviririm.

İlgili konular