Eri*_*luk 1 scala akka scala-reflect
我有以下代码
lazy val restEndpoint = context.actorOf(Props[RestEndpoint], "RestEndpoint")
Run Code Online (Sandbox Code Playgroud)
但是,我想动态加载actor,如果它存在的原因有以下几点:
是否有一些'简单'的方式来反思这样做?请不要指出Scala中有关反射的文档,因为那里没有什么容易的.如果有Scala Reflection for Dummies讨论,我会很感激.
一个工作的例子将不胜感激.
反思对于不属于你的事物没有帮助classpath.任何不在类路径中的东西都意味着"Java does not know about the existence of this entity.".
现在,当谈到任何实例化的演员时(无论在哪里......它甚至可以在所有Akka关心的替代宇宙中......),你可以ActorRef通过使用他们的fully qualified地址(路径)来引用它们,嗯......替代宇宙......嗯......简单,问你的替代自我:p)例子 -
val as = ActorSystem( "myActorSystem" )
val refToRemoteActor: ActorSelection = as.actorSelection( "akka.tcp://my-sys@host.example.com:5678/user/service-b" )
// Now You can tell anything to your ActorSelction. But you can not ask them.
refToRemoteActor ! "my-message"
Run Code Online (Sandbox Code Playgroud)
如果你需要ActorRef为你的remote Actor,你需要发送一个消息,例如内置的Identify消息,到演员,并使用sender()从该答复的参考remote Actor.
注意:如果有人在为alternate-universe获取Actors时遇到问题,Akka则尚未提供Alternate-universe功能.但是,你可以实现它,就好像你可以通过"量子隧道......或者它到底是什么"获得LAN电缆.
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |