AskableActorSelection asker = new AskableActorSelection(sel); Future<Object> fut = asker.ask(new Identify(1), t); ActorIdentity ident = (ActorIdentity)Await.result(fut, t.duration()); ActorRef ref = ident.getRef(); System.out.println(ref == null);
public ActorRef getActor(Class<? extends UntypedActor> clsActor, int id) { String sName = clsActor.getName() + "-" + id; ActorSelection sel = m_actorSystem.actorSelection("user/" + sName); Timeout timeout = new Timeout(100, TimeUnit.MILLISECONDS); Future<ActorRef> fut = sel.resolveOne(timeout); ActorRef actor= Await.result(fut, timeout.duration()); return actor; }
final Timeout timeout = new Timeout(5, TimeUnit.SECONDS); final Future<Object> future = Patterns.ask(actor, msg, timeout); final String result = (String) Await.result(future, timeout.duration());
ActorSystem system = ActorSystem.create("system"); ActorRef actor = system.actorOf(Props.create(SomeActor.class), "someActor"); Timeout t = new Timeout(5, TimeUnit.SECONDS); Future<Object> future = Patterns.ask(actor, "some message", 1000); try {String response = (String) Await.result(future, t.duration());} catch(Exception e){}
import java.util.concurrent.TimeUnit; import scala.concurrent.Await; import scala.concurrent.Future; import akka.actor.ActorRef; import akka.actor.ActorSystem; import akka.actor.Props; import akka.pattern.Patterns; import akka.util.Timeout; public class AskTest { public static void main(String[] args) throws Exception{ ActorSystem sys = ActorSystem.apply("test"); ActorRef ref = sys.actorOf(Props.create(TestActor.class), "mytest"); Timeout t = new Timeout(5, TimeUnit.SECONDS); Future<Object> fut = Patterns.ask(ref, "foo", t); String response = (String)Await.result(fut, t.duration()); System.out.println(response); } }
Result response = (Result)Await.result(future, t.duration()); System.out.println(response.result); } catch (Exception e) {
final Work result = (Work) Await.result(future, timeout.duration()); System.out.println(result);