如果在Scala中不推荐没有括号的无参数案例类,为什么Akka仍然允许它们被传递?

时间:2016-03-11 21:14:30

标签: scala akka case-class

我花了两天时间尝试调试一个消息没有被演员处理的问题,最终发现发送给它的消息没有跟随其名字的括号。如果在Scala中不推荐没有括号的无参数案例类,为什么Akka仍允许在没有警告的情况下发送它们?

2 个答案:

答案 0 :(得分:1)

我在这里猜测,但听起来像你发送的是case类的伴随对象,而不是case类本身。 case类在默认情况下是可序列化的(如果从可序列化的组件构造,所有case类都是可序列化的)但是不能保证伴随序列化。

答案 1 :(得分:1)

我想这里的问题不是伴侣对象不是Serializable。无论如何你都会收到警告 - 如果你使用akka遥控器会有例外。问题可能是接收演员中的接收功能没有伴侣对象的情况。

Akka根本不关心您发送哪些消息,因为您可以将任何对象作为消息发送。检查一下你不应该发送弃用的课程对我没有意义。