Gridjs返回流到前端没有了uid

26.10的 gridjs这个返回流是改了吗?导致我用这个不传uid的方法把流返回前端,uid解析出来是null,以前是会给你反uid到前端的

@feng.qun.zhu.avaryholding.com
是的,在v26.10里这个方法新增加了参数String uid,你的代码里需要修改下,传一下uid。

我发现堆外内存other占用过高,请问aspose new Workbook后,需要手动调用wb.dispose()吗?不调用是否会发生内存泄漏

@feng.qun.zhu.avaryholding.com
你使用GridJsService还是GridJsWorkbook
GridJsService 已经是@RequestScope ,在spring系统认为request结束的时候会自动调用dispose方法释放用到的资源,所以无需手动调用。
内部实现是:
GridJsService 的所有api都是封装使用GridJsWorkbook 进行操作,
GridJsService.dispose 会调用GridJsWorkbook .dispose

如果是直接调用GridJsWorkbook 进行操作,他也有dispose 方法,可以手动调用。
你可以打开日志
设置GridJsLogger.setLevel(GridJsLogLevel.DEBUG)
setLogFile 等,这样可以看到创建和销毁对象的具体信息

GridJsWorkbook和Workbook workbook = new Workbook(流);
这两个,都不需要手动调是吗?目前没有任何手动处理

new 完之后,你在GridJs里面怎么用,你把controller里面的请求方法贴出来

这是我们的java demo 像这里面就无需手动操作也会自动释放

Workbook workbook = new Workbook(
new ClassPathResource(TEMPLATE_PATH).getInputStream());

GridJsWorkbook wbj = new GridJsWorkbook();

    try {
        StringBuilder sb = wbj.getJsonByUid(fileName, fileName);
        if (sb == null) {
            workbook.calculateFormula();
            wbj.importExcelFile(fileName, workbook);
            sb = wbj.exportToJsonStringBuilder(fileName);
        }

        return sb.toString();
    } catch (Exception e) {
        return "获取文件失败" + e.getMessage();
    }

controller就平常的restful post请求,直接返回字符串了

假设在controller里面某个方法

@PostMapping("/xxxapi")
    public ResponseEntity<String> updateCell(HttpServletRequest request) {
     Workbook workbook = new Workbook(
new ClassPathResource(TEMPLATE_PATH).getInputStream());

GridJsWorkbook wbj = new GridJsWorkbook();

    try {
        StringBuilder sb = wbj.getJsonByUid(fileName, fileName);
        if (sb == null) {
            workbook.calculateFormula();
            wbj.importExcelFile(fileName, workbook);
            sb = wbj.exportToJsonStringBuilder(fileName);
        }

        return sb.toString();
    } catch (Exception e) {
        return "获取文件失败" + e.getMessage();
    }
......
    }

这个应该会自动释放,请求结束,这里面的重资源都是游离状态,随时可以被回收。
你不放心的话,可以监控java内存 抓heapdump文件,对比下