Akka - 对象序列化期间的 StackOverflowError

2023-12-02

我遇到了一个持续超过 2 天的问题。当我在参与者之间交换消息时,正在指责 JVM 堆栈溢出。

我的消息是一个具有许多链接的对象(10000 多个子对象在链接列表中链接在一起)。即,具有 Neo4J 关系的对象。

错误是这样的:

java.lang.StackOverflowError
    at java.io.Bits.putLong(Bits.java:108)
    at java.io.ObjectOutputStream$BlockDataOutputStream.writeLong(ObjectOutputStream.java:1928)
    at java.io.ObjectOutputStream.writeLong(ObjectOutputStream.java:788)
    at java.util.Date.writeObject(Date.java:1303)
    at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)

有人对此有任何解决方案吗?

thanks


你正在用吗java.util.LinkedList,还是您自己的自定义链表?如果是后者,则需要编写一个自定义的writeObject()它的一种方法可以避免在没有递归的情况下发生的递归。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Akka - 对象序列化期间的 StackOverflowError 的相关文章

随机推荐

  • 关于此代码中 ::* 的含义 [重复]

    这个问题在这里已经有答案了 我正在刷新一些关于函数指针的被遗忘的概念 以创建某种包装类来处理回调调用 在谷歌浏览后 我发现了这个简单但有趣的帖子http blog coldflake com posts C delegates on ste
  • OnClick 更改表格行背景颜色

    因此 我试图找到一种简单的方法来在单击时更改背景颜色或表格行 我一直在尝试找到一种方法来调用背景颜色并检查它 但我还没有找到一种方法来调用颜色 这是我现在所拥有的 RowName TableRow findViewById R id Row
  • 如何在 Vue 中获取数据之前抑制“未定义”错误

    我有一个简单的页面 其中显示从服务器获取的一些数据 模板 p Order s customer name order customer name p JavaScript export default data return order m
  • 詹金斯错误“没有签名证书”

    当我使用 Jenkins aotoPackage 我的 iOS api 时 我遇到以下日志 构建目标 goldNews iOS 项目 goldNews iOS with CONFIGURATION Release 检查依赖关系 找不到签名证
  • NetworkStream.Read() 不起作用并抛出 ArgumentOutOfRangeException

    只是想创建一个聊天服务器客户端 这是等待客户端连接的服务器 可选 TcpListener serverSocket new TcpListener 8888 int requestCount 0 TcpClient clientSocket
  • Android Theme.NoTitleBar 不起作用

    我的应用程序中有一个类似 facebook 的滑动菜单栏 其中应用程序的两个内容和主要布局由自定义布局类处理 我想删除我的应用程序的标题栏 Issue 尽管我放置 android Theme Light NoTitleBar 在我的清单中
  • ifstream 无法打开文件

    我正在尝试打开一个文件 以便从中读取内容 include
  • Python lxml:在相对于子元素的给定位置插入文本

    我想构建以下 XML 元素 为了自定义数字格式
  • 从 BroadcastReceiver 启动 Activity

    我有以下代码从扩展的类发送电子邮件BroadcastReceiver Intent emailIntent new Intent android content Intent ACTION SEND S2Mconfig s2m new S2
  • 从 CPP 中的字符串中删除重复项

    我编写了以下代码 用于从给定字符串中删除重复项 即如果 ARRUN 是输入 则输出将为 ARUN include
  • JavaScript 模板引擎? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript 中的模板引擎如何工作 我已经开始学习 Javascript 并阅读了网络上的各种不同文章 我不太确定的一件事是 javascript 模板引擎是什么 他们的目的是什么 如果有人能
  • IOS 5 使用buzztouch应用程序在静音模式下播放视频时没有音频

    我已经用buzztouch为Iphone和Ipad开发了几个应用程序 这里以一个免费的为例 http itunes apple com us app lr basics free edition id497563707 mt 8 我不太了解
  • 如何判断一个字符串是否包含整数?

    假设您有一个字符串 您想要测试它以确保它包含一个整数 然后再继续执行其余代码 在java中 你会用什么来判断它是否是一个整数 如果您想确保它是only一个整数并将其转换为一 我会使用parseInt in a try catch 但是 如果
  • iOS 从一年中的某一天获取日期

    stackoverflow 上的常见问题是如何从日期获取一年中的某一天 但是如何从一年中的某一天获取日期呢 我使用以下代码来生成一年中的某一天 但如何执行相反的操作 Calculate Day of the Year NSCalendar
  • 水平 ListView.builder 上的 RefreshIndicator

    我有一个水平 ListView builder 小部件 我想在将其向左拉时使用 RefreshIndicator 进行刷新 FutureBuilder future initGetTopX builder context wikiSnaps
  • removeAllObjects 和 NSMutableArray 的释放是否具有相同的功能?

    我写了以下代码行 NSMutableArray array NSMutableArray alloc init 这会分配一些内存 我的问题是 我们以后如何释放这块内存 是使用removeAllObjects方法还是 数组释放 这两种方法具有
  • 转换 T-s 时完美转发非 T 参数

    这个问题源自这个答案 我正在尝试调整一个蹦床函数 该函数当前仅传递可变数量的参数 我想让它转换任何参数PyObject pyob to Object pyob 但转发所有其他参数 So void self int PyObject floa
  • 将 WPF ContextMenu MenuItem 绑定到 UserControl 属性与 ViewModel 属性

    我正在努力了解 ContextMenu 发生了什么 我知道它被渲染为一个单独的窗口 具有一个单独的可视化树 因此我们不能使用相对绑定来绑定作为用户控件的属性公开的命令 例如下列does not work
  • Rails 4 按虚拟属性排序

    我有一个Product模型有name and description数据库中的列 我也有一个Product search results for query where query是一个像这样的字符串 Green Apple 我需要返回一个
  • Akka - 对象序列化期间的 StackOverflowError

    我遇到了一个持续超过 2 天的问题 当我在参与者之间交换消息时 正在指责 JVM 堆栈溢出 我的消息是一个具有许多链接的对象 10000 多个子对象在链接列表中链接在一起 即 具有 Neo4J 关系的对象 错误是这样的 java lang