首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平面缓冲区:不能嵌套对象序列化

平面缓冲区:不能嵌套对象序列化
EN

Stack Overflow用户
提问于 2016-01-11 19:52:28
回答 1查看 4.5K关注 0票数 1
代码语言:javascript
复制
        FlatBufferBuilder fbb = new FlatBufferBuilder(1024);

        String directory = "/Users/samarnath/RmsOne/CreateFlatBuffer/src/com/rms/objects/resources";
        File [] policyfiles = ReturnFilesWithPattern(directory, "singlecoverriskpolicy");

        for (File file: policyfiles)
        {

            Long StructureId = 0L;
            int insurer = 0;
            int insured = 0;
            int UnderWriter = 0;
            int inception = 0;
            int Expiration = 0;
            int ExternalID = 0;
            Long SubjectId =0L;
            int SubjectName = 0;
            int SubjectStructureName = 0;
            int Share = 0;
            Double blanketLimit = 0.0;
            Double attachment = 0.0;
            int causeofLoss = 0;
            int maxDeductible = 0;
            int attachmentCurrency = 0;
            int offset= 0;
            int deductibleCurrencyOffset = 0;
            int createOffset =0;
            int blanketLimitCurrency = 0;


            String folderName = "nfs://dev-spark-share.lab.rmsonecloud.net/mnt/data/UserData/import/outputfiles/Job_5/SmokeTest_2M/eufl_only_client4_2_edm__20151203-134544__24/contract/";
            List<String> lines = Files.readAllLines(file.toPath());
            List<String> actualLines = lines.subList(1, lines.size());

            for (String line:actualLines)
            {
                String [] riskitems = line.split("~");

                SingleCoverRiskPolicy.startSingleCoverRiskPolicy(fbb);
                Long Id  = Long.parseLong(riskitems[0]);
                int policyName = fbb.createString(riskitems[1]);

在上面的行之后,我看到一个错误,在线程“java.lang.AssertionError: FlatBuffers: object序列化不能嵌套”中出现异常,我在fbb.createString中得到一个错误。

代码很简单,我不知道这里出了什么问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-11 21:29:47

文档中:“其他所有内容(其他表、字符串、向量)必须在引用它们的表开始之前创建。”

因此,将int policyName = fbb.createString(riskitems[1])和您在SingleCoverRiskPolicy中引用的任何其他字符串/向量/表移动到startSingleCoverRiskPolicy之前。

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

https://stackoverflow.com/questions/34729894

复制
相关文章

相似问题

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