繁体   English   中英

如果在Scala中弃用了不带括号的无参数大小写类,为什么Akka仍然允许它们传递?

[英]If parameter-less case classes without parentheses are deprecated in Scala, why does Akka still allow them to be passed?

我花了两天的时间来调试演员没有处理消息的问题,最终发现发送给它的消息的名称后面没有括号。 如果在Scala中弃用了不带括号的无参数大小写类,为什么Akka仍允许在没有警告的情况下发送它们?

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

我猜这里的问题不是伴随对象不是可序列化的。 无论如何,您都会得到警告-如果使用akka远程处理,则会出现异常。 问题可能是接收方actor中的receive函数没有陪伴对象的大小写。

Akka根本不在乎您要发送哪些消息,因为您可以将任何对象作为消息发送。 对我来说,检查不应该发送不推荐使用的课程对我来说没有任何意义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM