当前位置: 首页 > 知识库问答 >
问题:

Akka和获取单个对象的ActorRef

贲招
2023-03-14
   ActorRef instance = system.actorOf(Props.create(ContactServer.class, encoding, this));
    instance.tell(new AbstractMap.SimpleImmutableEntry<>(device, actionJson), ActorRef.noSender());

我的问题是演员永远不会关闭,所以我最终有一大堆演员:

akka://application/user/$e
akka://application/user/$f
akka://application/user/$g
akka://application/user/$h
akka://application/user/$i

但是,虽然我可以用“getContext().stop(getSelf())”关闭Actor,但将它作为一个单例使用似乎更有意义,因为Actor中没有保存状态。但是如何在不创建新的演员的情况下获得对这个演员的引用呢?

共有1个答案

魏安然
2023-03-14

要获取现有参与者的引用,您可以:

  1. 按具体路径查找演员,请参见https://doc.akka.io/docs/akka/2.5/general/addressing.html#looking-up-actors-by-concrete-path。
  2. 只需在actor系统中初始化actorref后将其传递出去。

在我目前工作的系统中,第二种方法工作得很好,因为它很简单。

 类似资料:
  • 问题内容: 我正在与一些同事就此进行辩论。当你只期望一个对象时,是否有一种首选的方法可以在Django中检索对象? 两种明显的方法是: 和: 第一种方法在行为上似乎更正确,但是在控制流中使用异常,这可能会带来一些开销。第二个是回旋处,但永远不会引发例外。 有什么想法是可取的?哪个更有效? 问题答案: get()是专门为这种情况提供的。用它。 选项2几乎完全是该get()方法在Django中的实际实

  • 问题内容: 我有以下JSON,我需要使用JSONPath获得纯值: 我使用的表达式是,但是我总是得到一个数组: 而不是字符串值()。 问题答案: 但是我总是得到一个数组: 那是必然的。如您在本文档中所读,位于“结果”下(几乎在底部): 请注意,jsonPath的返回值是一个数组,也是一个有效的JSON结构。因此,您可能想再次将jsonPath应用于结果结构,或使用您喜欢的数组方法之一对其进行排序。

  • 我将Python与SQLAlchemy(在我的特殊情况下是GeoAlchemy)一起使用,并且我有一个查询,该查询将生成一列行对象。我希望从这些行对象中提取特定的值,但是SQLAlchemy将行对象解释为单个实体(如果我正确的话,将它们作为字符串返回)。如何在不使用Python解析的情况下更清晰地返回这些单独的值? 我的真实生活用例:PostgreSQL的PostGIS扩展提供了一个名为的函数。此

  • 我有一个方法返回<code>Single 我可以使用,但这不允许我从中返回列表。 我还尝试了。 编辑 我可以通过以下方式完成这项工作: 请告诉 如果这种方式是正确的 我是反应式编程新手,请解释一下。

  • 问题内容: 我是JSON的新手。因此,如果这是一个非常基本的疑问,请不要责骂我。我有一个JSON对象参考,我想获取Key(对象只有一个“键值对”)。如何在Java中获得它? 问题答案: 您可以用来获取所有密钥。然后,您可以遍历密钥以从中获得第一个密钥,例如:

  • 问题内容: 考虑: 我该怎么做: 显然,这不起作用,因为第一个索引名为,而不是。 可以,但是我不知道它的名字叫foo。它可以命名为任何东西。我只想要第一个。 问题答案: 如果对象的顺序很重要,则应修改JSON模式以将对象存储在数组中: 或许: 正如Ben Alpert指出的那样,Javascript对象的属性是无序的,并且如果希望它们按与对象常量中指定的顺序相同的顺序枚举,则代码将被破坏-没有“f