2
我試圖將我的代碼從Akka 2.0遷移到2.3。 我有幾個問題。如何知道我得到一個不存在或死亡的演員
public synchronized ActorRef getActor(Class<? extends UntypedActor> clsActor, String sID)
{
String sName = clsActor.getName() + "-" + sID;
ActorRef actor = m_actorSystem.actorFor("user/" + sName);
if (actor.isTerminated())
actor = m_actorSystem.actorOf(new Props(clsActor), sName);
return actor;
}
這是一個演員調度員。如果這個演員死亡或不存在,它會創建一個新演員。
但在Akka 2.3中,isTerminated()已棄用。
public ActorRef getActor(Class<? extends UntypedActor> clsActor, int id)
{
String sName = clsActor.getName() + "-" + id;
ActorRef actor = m_actorSystem.actorSelection("user/" + sName).anchor();
return actor;
}
我得到一個演員回來,但我不知道它是否還活着,直到我發出一條消息。 當然,它沒有奏效。
如何修復此代碼?
謝謝。