我有以下代码动态加载的演员,如果它的存在
lazy val restEndpoint = context.actorOf(Props[RestEndpoint], "RestEndpoint")
不过,我想动态加载的演员,如果它的存在是有几个原因:
- 它可能不是在类路径,所以我不得不问问类加载器是否存在。
- 即使它在类路径上,我可能不想因为配置原因而加载它。
- RestEndpoint位于与此JAR文件相关的JAR文件中,因此我无法获得循环依赖关系。
是否有一些“简单”的方法来反射?请不要指向我关于Scala反射的文档,因为在那里并不容易。如果有一个Scala Reflection for Dummies讨论,我会很高兴看到这个。
一个工作示例将不胜感激。
其实你也可以只使用在'ActorSelection'的'resolveOne'方法检索'未来[ActorRef]'现在直接。 – LMeyer 2015-02-23 15:15:38
@LMeyer Yup ...但我认为它与发送Identify消息和解析Actor发件人中的ActorRef是一样的。 – 2015-02-23 16:05:33
所以我现在并没有真正对远程演员感兴趣,我真的只关心我如何动态加载演员,就像其他任何类一样,因为它的名字是“RestEnpoint” – 2015-02-23 20:55:34