Closed Zwenzo closed 4 months ago
环境: sofa-ark版本:2.2.1 jdk版本:8
执行步骤: 1.调用卸载方法ArkClient.unInstallBiz 2.监听AfterBizStopEvent事件,删除子容器(ApplicationContext)所有的对象,以及父容器中所有与子容器关联的对象
上述步骤问题:调用卸载方法时,BizModel中的stop方法删除lib目录下的所有jar包失败,提示原因:被主服务占/引用
因为biz模块无法瘦身(即无法将依赖全部设置为provide模式),所以lib目录不可避免的,所以有什么办法删除呢?并且,我参考sofa ark2.2.10版本的stop方法中对unpack文件进行迁移再删除的方法recycleBizTempWorkDir,我本地试过也是无法实现的,因为被另外的程序锁定/引用。。
困扰一天的问题
本地无法复现,怀疑是程序代码内对目标 jar 进行了 open 操作并且没有 close,是否可以再检查一下代码?或者提供一个最小复现工程。
fixed by https://github.com/sofastack/sofa-ark/pull/943
环境: sofa-ark版本:2.2.1 jdk版本:8
执行步骤: 1.调用卸载方法ArkClient.unInstallBiz 2.监听AfterBizStopEvent事件,删除子容器(ApplicationContext)所有的对象,以及父容器中所有与子容器关联的对象
上述步骤问题:调用卸载方法时,BizModel中的stop方法删除lib目录下的所有jar包失败,提示原因:被主服务占/引用
因为biz模块无法瘦身(即无法将依赖全部设置为provide模式),所以lib目录不可避免的,所以有什么办法删除呢?并且,我参考sofa ark2.2.10版本的stop方法中对unpack文件进行迁移再删除的方法recycleBizTempWorkDir,我本地试过也是无法实现的,因为被另外的程序锁定/引用。。
困扰一天的问题