Akka 确保某些消息不会被序列化
假设在特定状态下,akka演员a创建了一个子演员B:Akka 确保某些消息不会被序列化,akka,akka.net,Akka,Akka.net,假设在特定状态下,akka演员a创建了一个子演员B: Context.ActorOf(Props.Create(()=>newbactor(RawDetails)) RawDetails是一个相当大但很简单的对象,没有引用,必须在包含许多引用的实际数据对象SmartDetails中进行转换 SmartDetails是在BActor的构造函数中创建的,现在必须发送给akka actor A 我必须保证SmartDetails从B发送到A时不会被序列化 这是在阿克卡进行的有效方式吗? 我们对它进行了
Context.ActorOf(Props.Create(()=>newbactor(RawDetails))代码>
RawDetails
是一个相当大但很简单的对象,没有引用,必须在包含许多引用的实际数据对象SmartDetails
中进行转换
SmartDetails
是在BActor
的构造函数中创建的,现在必须发送给akka actor A
我必须保证SmartDetails
从B发送到A时不会被序列化
这是在阿克卡进行的有效方式吗?
我们对它进行了测试,它可以工作,也就是说,它没有序列化
我正在搜索文档,例如,我可以找到这样一条语句,即子参与者是在与父参与者相同的过程中创建的,并且不会发生序列化
当消息SmartDetails
序列化时,akka将崩溃,因为SmartDetails
太大
原始的RawDetails
以序列化形式来自另一个参与者,它是以简单的小数据包“发送”的。默认情况下,同一ActorSystem
(同一进程和AppDomain)中的消息是不序列化的,因此它们是不可变的非常重要
文件在“验证”一节中提到:
通常,本地参与者(即同一CLR)之间发送的消息不会
进行系列化。对于测试,有时可能需要
对所有消息(远程和本地)强制序列化
但是通过远程处理/群集发送到另一个参与者系统的消息将被序列化。谢谢,这正是我自己找不到的。没问题,很乐意帮助!