akka actor java_Akka:使用非默认构造函数在Scala中定义一个actor并从Java代码创建它 - java...
Akka Scala演員必須擴展akka.actor.Actor
Akka Java actor必須擴展akka.actor.UntypedActor
因此,在使用非默認構造函數(shù)定義Scala actor并從Java代碼創(chuàng)建它時,我遇到了以下問題:
ActorRef myActor = system.actorOf(new Props(new UntypedActorFactory() {
public UntypedActor create() {
return new MyActor("...");
}
}), "myactor");
當然,UntypedActorFactory期望創(chuàng)建UntypedActor類型的對象,但是我的actor是Actor類型。
解決方法是什么?
編輯:
按照Viktor的說明使用akka.japi.Creator,此方法有效:
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");
參考方案
在這種情況下,傳遞akka.japi.Creator而不是UntypedActorFactory。
另外,至少在2.0.1及更高版本中,它不需要UntypedActor:
trait UntypedActorFactory extends Creator[Actor] with Serializable
https://github.com/akka/akka/blob/v2.0.1/akka-actor/src/main/scala/akka/actor/UntypedActor.scala#L161
使用Alpakka連接器的多個使用者線程 - java
我正在使用Alpakka kafka連接器來消耗來自kafka的數(shù)據(jù)包。我正在使用Consumer作為CommittableSource。我想在一臺計算機上創(chuàng)建多個使用者線程,并將它們用作單個源。我該如何實現(xiàn)?當前,我已經(jīng)使用Consumer.CommittableSource創(chuàng)建了多個源,并使用“合并”功能將所有源合并為一個源。但是我不確定這是否是正確的方…Java:線程池如何將線程映射到可運行對象 - java
試圖繞過Java并發(fā)問題,并且很難理解線程池,線程以及它們正在執(zhí)行的可運行“任務”之間的關系。如果我創(chuàng)建一個有10個線程的線程池,那么我是否必須將相同的任務傳遞給池中的每個線程,或者池化的線程實際上只是與任務無關的“工人無人機”可用于執(zhí)行任何任務?無論哪種方式,Executor / ExecutorService如何將正確的任務分配給正確的線程? 參考方案 …JAVA:字節(jié)碼和二進制有什么區(qū)別? - java
java字節(jié)代碼(已編譯的語言,也稱為目標代碼)與機器代碼(當前計算機的本機代碼)之間有什么區(qū)別?我讀過一些書,他們將字節(jié)碼稱為二進制指令,但我不知道為什么。 參考方案 字節(jié)碼是獨立于平臺的,在Windows中運行的編譯器編譯的字節(jié)碼仍將在linux / unix / mac中運行。機器代碼是特定于平臺的,如果在Windows x86中編譯,則它將僅在Win…Scala-運行時字符串模板 - java
我想做的正是java的String模板,但是在scala中。但是,該庫不適用于案例類:case class Obj(str:String) val st = new ST("xx $obj.str$ xx",'$','$') st.add("obj",Obj("repl…java:繼承 - java
有哪些替代繼承的方法? java大神給出的解決方案 有效的Java:偏重于繼承而不是繼承。 (這實際上也來自“四人幫”)。他提出的理由是,如果擴展類未明確設計為繼承,則繼承會引起很多不正常的副作用。例如,對super.someMethod()的任何調用都可以引導您通過未知代碼的意外路徑。取而代之的是,持有對本來應該擴展的類的引用,然后委托給它。這是與Eric…
總結
以上是生活随笔為你收集整理的akka actor java_Akka:使用非默认构造函数在Scala中定义一个actor并从Java代码创建它 - java...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: canvas是什么牌子的包_Jack S
- 下一篇: java pdfreader去除水印_(