actor - How can I use a TypedActor in a Java application? -


i try implement typedactor in java following examples on typed actors (java). i'm struggling. have added akka-actor-1.1-m1.jar, akka-typed-actor-1.1-m1.jar, scala-library.jar wasn't enough. got errors in eclipse added aspectwerkz-2.0.jar , aspectwerkz-core-2.0.jar build path.

i try use typedactor custom constructor.

but error @ compilation:

exception in thread "main" java.lang.nosuchmethoderror: org.codehaus.aspectwerkz.proxy.proxy.newinstance([ljava/lang/class;[ljava/lang/object;zz)ljava/lang/object;     @ akka.actor.typedactor$.newinstance(typedactor.scala:596)     @ akka.actor.typedactor$.newinstance(typedactor.scala:634)     @ akka.actor.typedactor.newinstance(typedactor.scala)     @ com.example.actor.actortest.main(actortest.java:12) 

here code baseactor:

import akka.actor.typedactor;  public class baseactor extends typedactor implements baseservice {      private string str;     private int num;      public baseactor(string str, int num) {     this.str = str;     this.num = num;         system.out.println("booted");     }      public void testdata(string str, int num) {         system.out.println(this.str + " " + this.num);         system.out.println(str + " " + num);     } } 

my interface service:

public interface baseservice {      public void testdata(string str, int num); } 

and test class:

import akka.actor.typedactor; import akka.actor.typedactorfactory;  public class actortest {      public static void main(string[] args) {          baseservice service = typedactor.newinstance(baseservice.class,                                                      new typedactorfactory() {             public typedactor create() {                 return new baseactor("somestring", 12);             }         });          service.testdata("hello", 6);     }  } 

in example write:

service service = typedactor.newinstance(classof[service],                                           new typedactorfactory() {   public typedactor create() {     return new servicewithconstructorargsimpl("somestring", 500l)); }); 

but don't think classof[service] java, it's looks more scala.

how can implement typedactor custom constructor?

your code correct, far can see. instantiate typedactor in java non default constructor, should use:

baseservice service = typedactor.newinstance(baseservice.class,                                                      new typedactorfactory() {             public typedactor create() {                 return new baseactor("somestring", 12);             }         }); 

indeed, official doc contains typo.

can try use aspectwerkz-2.2.3? have tried code , work me. difference version of aspectwerkz i'm using.

also, please note these dependencies akka-typed-actor 1.1-m1:

<dependency org="org.codehaus.aspectwerkz" name="aspectwerkz" rev="2.2.3" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/> <dependency org="aopalliance" name="aopalliance" rev="1.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/> <dependency org="org.guiceyfruit" name="guice-all" rev="2.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/> <dependency org="se.scalablesolutions.akka" name="akka-stm" rev="1.1-m1" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/> <dependency org="org.scala-lang" name="scala-library" rev="2.9.0.rc1" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/> 

Comments

Popular posts from this blog

objective c - Change font of selected text in UITextView -

php - Accessing POST data in Facebook cavas app -

c# - Getting control value when switching a view as part of a multiview -