请大佬帮忙看下这个问题

1749194541357.jpg

红框中的报错,我用deepseek搜了一下。大概率是内存泄漏,资源未关闭。我要怎么做才能规避这个异常呢?

这张报表我使用了json程序数据集。

image.png

上图是我的数据链接,是可以正常链接的

image.png

上图是我之前做的一张报表获取到的数据。没有报错

image.png

上图是我这次新做的报表,在数据集层面是没有报错的。但是当我用分页预览模式打开报表之后,点击查询,就出现了第一张图中的报错

FineReport 技安 发布于 昨天 15:24 (编辑于 昨天 15:39
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
华莉星宸Lv7资深互助
发布于昨天 15:26

先重启服务 看看是否可以正常打开

  • 技安 技安(提问者) 不行,关键都是我本地跑的报表,不是放在服务器上的。然后另外一张差不多的,都是使用json程序数据集的报表没有报错。就这个新做的一张报表报错了。很头疼。
    2025-06-06 15:30 
  • 华莉星宸 华莉星宸 回复 技安(提问者) 设计器重启看看呢
    2025-06-06 15:37 
  • 技安 技安(提问者) 回复 华莉星宸 额,已经重启蛮多次数了。对了,我更新了问题。如果有空的话,麻烦您帮我分析一下
    2025-06-06 15:42 
  • 华莉星宸 华莉星宸 回复 技安(提问者) 我更建议找个etl工具,把json数据 先存到数据表里面,报表直接取数据库表的数据【我们项目就是这么搞的,不直接取json接口数据】
    2025-06-06 15:44 
  • 技安 技安(提问者) 回复 华莉星宸 我想过这个方案,但是因为获取的是流程性的数据。所以我们这边的做法一直是在流程完结归档的时候会写入数据库。现在业务部门的需求是希望把未及时完成(出现异常流程)的数据查出来。所以完结归档这条路可能走不通
    2025-06-06 15:48 
最佳回答
0
FR-LeonLv4初级互助
发布于昨天 15:26(编辑于 昨天 15:51

第一阶段:立即缓解

  1. 重启服务立即重启报表服务器以释放被占用的内存

  2. 调整预览模式将分页预览改为分页查询模式(需自定义分页按钮)分页按钮设置示例

第二阶段:根本性优化

  1. 优化JSON程序数据集

    • 检查脚本中是否存在未关闭的资源(如流、连接等)

    • 添加数据分页逻辑(示例代码结构):


      // 添加分页参数处理

      var page = _page || 1;

      var pageSize = 10;

      return data.slice((page-1)*pageSize, page*pageSize);
  2. 服务器内存调整参考文档调整JVM内存参数:内存修改指南

  3. 数据量验证对比新旧报表的数据量:

    • 旧报表数据行数:______

    • 新报表数据行数:______(如新报表数据量激增,需优化查询条件)

注意事项
  1. 使用JSON程序数据集需要:

    • 设计器JAR包≥2019-03-13版本

    • 插件版本≥9.2.3

  2. 长期监控建议:

    • 在服务器管理端查看内存使用情况

    • 对大数据量报表强制使用分页机制

如需进一步分析,请提供:

  • JSON程序数据集的脚本片段

  • 单次查询返回的预估数据量

  • 服务器当前内存配置参数

  • 技安 技安(提问者) 不行,关键都是我本地跑的报表,不是放在服务器上的。然后另外一张差不多的,都是使用json程序数据集的报表没有报错。就这个新做的一张报表报错了。很头疼。
    2025-06-06 15:30 
  • 技安 技安(提问者) 旧报表的数据行数大约在6000条数据,是正常的。新报表数据行数大约600条,是非正常的。我再自己排查一下吧。可能是js代码有问题。实在不行就用其他方案了
    2025-06-06 15:58 
最佳回答
0
snrtuemcLv8专家互助
发布于昨天 15:27

你用了json数据源,这个数据源出问题了

  • 技安 技安(提问者) 没错,我用的是json程序数据集。我用postman跑API请求,是可以正常获取到数据的。而且另外一张报表,也是使用一模一样的技术,甚至代码都是差不多的,是可以正常打开。但是这次新做的这张报表,却报这个错了。
    2025-06-06 15:32 
  • snrtuemc snrtuemc 回复 技安(提问者) 你这个报表取得数据有问题,帆软把它解析出错了导致,寒邪数据估计就不会报错,需要帆软技术看原因,或者你过滤下数据没看看哪些数据不获取就不会报错,需要自己慢慢排查
    2025-06-06 15:38 
  • 技安 技安(提问者) 回复 snrtuemc 好的,感谢。我自己这边排查一下。
    2025-06-06 15:40 
  • 4关注人数
  • 70浏览人数
  • 最后回答于:昨天 15:51
    请选择关闭问题的原因
    确定 取消
    返回顶部