Akka actors and aroundReceive() method
我正在尝试学习Akka(使用Java)并理解一些代码。我已经在Actor类中看到了类似这样的方法签名:
我以前从未听说过这种方法,也不了解。该方法的目的是什么?此
与
执行此操作的Actor(通常通过Scala mixin或扩展覆盖它的抽象类)将采用程序员实现的actor的
上的消息进行后处理
-
这个函数不能保证任何特定的输入都有结果;调用者有责任事先检查(
isDefinedAt )该函数是否有结果,或者接受该函数将引发异常。 (PartialFunction :未在其整个域中定义的函数) -
Object (或用Scala术语Any (从技术上讲是AnyRef ,但是自动装箱让我们暂时忘记了)):该函数理论上可以接受任何内容 -
BoxedUnit 表示该函数没有返回有用的结果(Scala中的Unit 类似于Java中的void ,但实际上是一个对象(准确地说是一个单例))。
(某种程度上
首先,我在Scala中使用Akka,而不是Java。希望这个答案能给您带来帮助。
在Scala中,此方法为
Marks APIs that are considered internal to Akka and may change at any point in time without any
warning.
For example, this annotation should be used when the Scala {@code private[akka]} access
restriction is used, as Java has no way of representing this package restricted access and such
methods and classes are represented as {@code public} in byte-code
此方法的一个目的是使用自定义行为packagereceive方法。您可以在"计时器"特征中看到一个示例。