首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原型循环引用中的RuntimeSchema?

原型循环引用中的RuntimeSchema?
EN

Stack Overflow用户
提问于 2017-07-02 21:49:37
回答 1查看 372关注 0票数 1

我们使用原型的RuntimeSchema来序列化我们的数据。这在很大程度上是有效的,但有时我们会得到:

代码语言:javascript
复制
java.lang.StackOverflowError
at io.protostuff.runtime.ObjectSchema.mergeFrom(ObjectSchema.java:350) ~[protostuff-runtime-1.5.3.jar:1.5.3]
at io.protostuff.CodedInput.mergeObjectEncodedAsGroup(CodedInput.java:336) ~[protostuff-core-1.5.3.jar:1.5.3]
at io.protostuff.CodedInput.mergeObject(CodedInput.java:298) ~[protostuff-core-1.5.3.jar:1.5.3]
at io.protostuff.runtime.RuntimeUnsafeFieldFactory$15$1.mergeFrom(RuntimeUnsafeFieldFactory.java:1217) ~[protostuff-runtime-1.5.3.jar:1.5.3]

这显然意味着我们的对象中有某种循环引用。

阅读文档原型理论上确实支持运行时模式中的循环引用,我需要一个配置才能使其工作吗?

我读到过:Dprotostuff.runtime.collection_schema_on_repeated_fields,但它应该只应用于数组项的循环引用,这在我们的对象中不是这样的。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-07-12 05:51:22

原型支持多种编码格式(protobufjson和它自己的graph)。

如果你的对象包含循环引用,那么只有一个是合适的- graph。您可以将其与io.protostuff.GraphIOUtil一起使用。

请注意,其他编码(jsonprotobuf)不支持循环引用(它需要将额外的信息包含到序列化的形式中,这在那里是不可能的)。

有关此主题的其他信息可在此处找到:http://www.protostuff.io/documentation/object-graphs/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44871484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档