在Akka-Java中有以下問題。Akka-Java路由問題
我有一個父代演員MainActor.class
,這個父代有5個子代路由。以下是層次結構:
My App => Main Actor => [Child Route-1,Child-Route-2,..]
簡單的例子是字符串輸入進行解析,以整數作爲輸出:
MyApp ===ask[string input]===> Main Actor ==route==> Child(parses to Integer) === integer result===> Main Actor ===result==> MyApp
以下是主要演員片段:
class MainActor extends UntypedActor {
Router router; {
// ...routes are configured here
}
public void onReceive(Object message) {
if (message instanceof String) {
router.route(message, self()); // route it to child
} else if (message instanceof Integer) {
// received from child, 'tell' this result to actual sender/parent i.e, MyApp
sender().tell(message, self());
} else unhandled(message);
}
}
並且Child Actor除了將String解析爲Integer外,並將結果發回給發件人sender().tell(result,getContext().parent())
問題
MainActor
派遣由孩子送到解析的整數結果返回給孩子本身,而不是MyApp
。我也嘗試將替換爲MainActor
中的getContext().parent()
,但仍然無效。
我嘗試將'sender()'替換爲'getContext()。parent()',正如我在帖子中提到的那樣,沒有運氣。 –