public class Start extends BasicActor<Object, Void> {
@Override
protected Void doRun() throws InterruptedException, SuspendExecution {
Object call = RequestReplyHelper.call(new Mid().spawn(), new RequestMessage<Object>() {
});
System.out.println(call);
return null;
}
}
public class Mid extends BasicActor<RequestMessage<Object>, Void> {
@Override
protected Void doRun() throws InterruptedException, SuspendExecution {
RequestMessage<Object> receive = receive();
ActorRef<RequestMessage<Object>> spawn = new End().spawn();
Object call = RequestReplyHelper.call(spawn, receive);
RequestReplyHelper.reply(receive, call);
return null;
}
}
public class End extends BasicActor<RequestMessage<Object>, Void> {
@Override
protected Void doRun() throws InterruptedException, SuspendExecution {
RequestMessage<Object> receive = receive();
RequestReplyHelper.reply(receive, new Object());
return null;
}
}
new Start().spawn();
The behavior works fine.
However, the following exception (see below) chain is thrown in relation to ExitMessage signaling (?).
This seems like a RequestReplyHelper chain issue.
Exception in Fiber "fiber-10000004" java.lang.RuntimeException
at co.paralleluniverse.common.util.Exceptions.rethrow(Exceptions.java:26)
at co.paralleluniverse.actors.behaviors.RequestReplyHelper$1.handleLifecycleMessage(RequestReplyHelper.java:167)
at co.paralleluniverse.actors.SelectiveReceiveHelper.receive(SelectiveReceiveHelper.java:121)
at co.paralleluniverse.actors.behaviors.RequestReplyHelper.call(RequestReplyHelper.java:174)
at co.paralleluniverse.actors.behaviors.RequestReplyHelper.call(RequestReplyHelper.java:112)
at com.modelity.marketplace.services.rest.temp.Mid.doRun(Mid.java:17)
at com.modelity.marketplace.services.rest.temp.Mid.doRun(Mid.java:12)
at co.paralleluniverse.actors.Actor.run0(Actor.java:691)
at co.paralleluniverse.actors.ActorRunner.run(ActorRunner.java:51)
at co.paralleluniverse.fibers.Fiber.run(Fiber.java:1026)
WARNING: Uninstrumented methods (marked '**') or call-sites (marked '!!') detected on the call stack:
at co.paralleluniverse.common.util.Exceptions.rethrow(java.lang.Throwable) (Exceptions.java:26 bci: 29) **
at co.paralleluniverse.actors.behaviors.RequestReplyHelper$1.handleLifecycleMessage (RequestReplyHelper.java:167 bci: 41) **
at co.paralleluniverse.actors.SelectiveReceiveHelper.receive (SelectiveReceiveHelper.java:121 bci: 341) !! (instrumented suspendable calls at: [])
at co.paralleluniverse.actors.behaviors.RequestReplyHelper.call (RequestReplyHelper.java:174 bci: 663)
at co.paralleluniverse.actors.behaviors.RequestReplyHelper.call (RequestReplyHelper.java:112 bci: 335)
at com.modelity.marketplace.services.rest.temp.Mid.doRun (Mid.java:17 bci: 192)
at com.modelity.marketplace.services.rest.temp.Mid.doRun (Mid.java:12 bci: 1) (optimized)
at co.paralleluniverse.actors.Actor.run0 (Actor.java:691 bci: 222)
at co.paralleluniverse.actors.ActorRunner.run (ActorRunner.java:51 bci: 148)
at co.paralleluniverse.fibers.Fiber.run (Fiber.java:1026 bci: 11)
at co.paralleluniverse.fibers.Fiber.run1 (Fiber.java:1021 bci: 1)
Exception in Fiber "fiber-10000004" java.lang.RuntimeException
at co.paralleluniverse.common.util.Exceptions.rethrow(Exceptions.java:26)
at co.paralleluniverse.actors.behaviors.RequestReplyHelper$1.handleLifecycleMessage(RequestReplyHelper.java:167)
at co.paralleluniverse.actors.SelectiveReceiveHelper.receive(SelectiveReceiveHelper.java:121)
at co.paralleluniverse.actors.behaviors.RequestReplyHelper.call(RequestReplyHelper.java:174)
at co.paralleluniverse.actors.behaviors.RequestReplyHelper.call(RequestReplyHelper.java:112)
at com.modelity.marketplace.services.rest.temp.Mid.doRun(Mid.java:17)
at com.modelity.marketplace.services.rest.temp.Mid.doRun(Mid.java:12)
at co.paralleluniverse.actors.Actor.run0(Actor.java:691)
at co.paralleluniverse.actors.ActorRunner.run(ActorRunner.java:51)
at co.paralleluniverse.fibers.Fiber.run(Fiber.java:1026)
WARNING: Uninstrumented methods (marked '**') or call-sites (marked '!!') detected on the call stack:
at co.paralleluniverse.common.util.Exceptions.rethrow(java.lang.Throwable) (Exceptions.java:26 bci: 29) **
at co.paralleluniverse.actors.behaviors.RequestReplyHelper$1.handleLifecycleMessage (RequestReplyHelper.java:167 bci: 41) **
at co.paralleluniverse.actors.SelectiveReceiveHelper.receive (SelectiveReceiveHelper.java:121 bci: 341) !! (instrumented suspendable calls at: [])
at co.paralleluniverse.actors.behaviors.RequestReplyHelper.call (RequestReplyHelper.java:174 bci: 663)
at co.paralleluniverse.actors.behaviors.RequestReplyHelper.call (RequestReplyHelper.java:112 bci: 335)
at com.modelity.marketplace.services.rest.temp.Mid.doRun (Mid.java:17 bci: 192)
at com.modelity.marketplace.services.rest.temp.Mid.doRun (Mid.java:12 bci: 1) (optimized)
at co.paralleluniverse.actors.Actor.run0 (Actor.java:691 bci: 222)
at co.paralleluniverse.actors.ActorRunner.run (ActorRunner.java:51 bci: 148)
at co.paralleluniverse.fibers.Fiber.run (Fiber.java:1026 bci: 11)
at co.paralleluniverse.fibers.Fiber.run1 (Fiber.java:1021 bci: 1)