我创建了一个像这样的演员的RouterPool:
val myActorPool = Akka.system.actorOf(RoundRobinPool(5).props(Props[MyActor]), "myActor")
现在我想访问由此路由器管理的5个子节点的ActorRef对象。是否有一些方法调用来检索所有孩子的?或者我是否必须明确声明它们然后将它们传递给路由器?
答案 0 :(得分:2)
向路由器演员发送
akka.routing.Routees
将使其在CKEDITOR.replace( 'editor1' );
消息中发送回当前使用的路由
来自:this
答案 1 :(得分:0)
派对有点晚了,但如果您使用Routee
ActorRefRoutee
val actor: Option[ActorRefRoutee] = myActorPool.logic.select("Hello", routees /*Should be able to generate these from router*/) match {
case actorRefRoutee: ActorRefRoutee =>
Some(actorRefRoutee)
case _ =>
None
}
,我就是这样做的。
actor.ref
然后你可以通过调用:
来获取actor引用select cast (('Column_Year' + '/' + 'Column_Month' + '/' + 'Column_Date') as datetime) from Table_name
答案 2 :(得分:0)
很长时间过去了,我对Akka.Net也有同样的问题,却找不到有效的答案。在调试器中发现返回对象的类型对我有帮助:
_router.Tell(new GetRoutees());
...
// router callback
var routees = message as Routees;
if (routees != null)
{
IEnumerable<IActorRef> routeeRefs = routees.Members.Select(r => ((ActorRefRoutee) r).Actor);
...
}