Java 为什么参与者消息可以序列化?
读取“它声明”通过线路发送的所有消息必须可序列化“,这反过来要求发送到参与者的所有消息都可序列化。为什么要求参与者是可序列化的Java 为什么参与者消息可以序列化?,java,scala,akka,Java,Scala,Akka,读取“它声明”通过线路发送的所有消息必须可序列化“,这反过来要求发送到参与者的所有消息都可序列化。为什么要求参与者是可序列化的 使用序列化和反序列化在参与者之间发送消息的原因是什么?使用序列化发送/接收消息的原因是,可能会将消息发送给驻留在不同JVM上的参与者?消息在技术上不需要序列化,除非它们实际上是跨进程边界发送的。最佳实践是,所有消息都应该是可序列化的,以保持位置透明性 为了实现测试目的的序列化,您可以使用上的配置akka.actor.serialize messages=on,这将导致a
使用序列化和反序列化在参与者之间发送消息的原因是什么?使用序列化发送/接收消息的原因是,可能会将消息发送给驻留在不同JVM上的参与者?消息在技术上不需要序列化,除非它们实际上是跨进程边界发送的。最佳实践是,所有消息都应该是可序列化的,以保持位置透明性
为了实现测试目的的序列化,您可以使用上的配置akka.actor.serialize messages=on,这将导致akka即使在本地发送消息时也始终尝试序列化消息。消息在技术上不需要序列化,除非它们实际上是跨进程边界发送的。最佳实践是,所有消息都应该是可序列化的,以保持位置透明性
为了增强测试目的的可序列化性,您可以使用配置
akka.actor.serialize messages=on
,这将导致akka始终尝试序列化消息,即使消息在本地发送。嗯,是的,这当然是一个原因。actor的核心概念是无缝分发计算。嗯,是的,这当然是一个原因。参与者的核心概念是可无缝分配的计算。“跨越流程边界”,您指的是来自不同jvm的消息,而不是消息的来源消息从一个jvm中的参与者发送到另一个jvm中的参与者。由于消息是通过套接字发送的,因此需要在发送方进程(JVM)中将它们序列化为字节,然后反序列化回接收方进程(JVM)中的消息对象,这里,您指的是来自不同jvm的消息,而不是源于从一个jvm中的参与者发送到另一个jvm中的参与者的消息。由于消息是通过套接字发送的,因此需要在发送方进程(JVM)中将它们序列化为字节,然后反序列化回接收方进程(JVM)中的消息对象。