Akka: defining an actor in Scala with non-default constructor and creating it from Java code -


an akka scala actor must extend akka.actor.actor

an akka java actor must extend akka.actor.untypedactor

therefore, when defining scala actor non-default constructor , creating java code, run problem:

actorref myactor = system.actorof(new props(new untypedactorfactory() {   public untypedactor create() {     return new myactor("...");   } }), "myactor"); 

of course, untypedactorfactory expecting create object of type untypedactor, actor of type actor.

what's workaround ?

edit:

following instructions viktor use akka.japi.creator, works:

props props1 = new props(); props props2 = props1.withcreator(new akka.japi.creator() {         public actor create() {             return new myactor("...");         }     }); actorref actorref = main.appclient().actorof(props2, "myactor"); 

pass in akka.japi.creator instead of untypedactorfactory in case.

also, @ least in 2.0.1 , forward doesn't require untypedactor:

trait untypedactorfactory extends creator[actor] serializable 

https://github.com/akka/akka/blob/v2.0.1/akka-actor/src/main/scala/akka/actor/untypedactor.scala#l161


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -