2012-04-28 20 views
3

Akka似乎夢想成真。可悲的是,像其他軟件一樣,文檔和示例在一些主要方面缺乏。因爲事情的要點是提供非阻塞並行的io,他們爲什麼會提供一個只返回字符串的hello world。這是一個堅定的想法:爲每個單詞準備一個代理,通過調用Web上的某些內容將其翻譯成另一種語言,然後返回結果。使用Akka/Play-mini從REST呼叫返回字符串

今天我繞圈子讀了關於期貨和承諾的文檔。一個工作的例子可以解決整個問題。

我已經在java併發包中使用Future進行了很多併發編程。出於某種原因,阿卡的東西看起來太複雜了。我正在做一些與我上面描述的非常接近的事情:獲取請求並讓多個代理通過網絡完成它。我把原來生成的以Master和Listener爲起點的項目作爲起點,它工作正常,我無法找到一個簡單的方法來返回聚合結果。我有一個叫做迷你遊戲的方法。從那裏,我正在調用一個將消息發送給代理的類的方法,當它們運行完畢後,它們的結果將被聚合,並且監聽器會被調用。我如何構建一個未來?所有的文檔都說不會阻塞,但我們必須從REST請求中返回。

有沒有人知道這樣的例子?超級簡單。謝謝。

回答

2

我最終做了合成期貨。工作得很好。當你創建一個序列時,你仍然需要等待,但平行執行仍然在一秒鐘內返回,所以我很高興。

至於讓演員處理一個REST請求,我想過把它傳遞給Future,然後等着呢?可能會玩一些這些可能性,但我現在的工作。

這個經驗給我提出的另一個問題是如何在演員中實現Ask。沒有包含在文檔中並給出名稱,搜索Akka並詢問幾乎沒用。

這裏有一個建議:每個機制都應該顯示在順序圖中。這會有多難?

阿卡真的很興奮。終於能夠做基於Actor的編程是非常棒的。