gpt4 book ai didi

java - Apache 菲利克斯 : Delete JAR from Load Directory without Container Shutdown

转载 作者:行者123 更新时间:2023-11-28 23:38:44 25 4
gpt4 key购买 nike

对于 Felix OSGi,使用 Load 目录中的 JAR 自动加载包非常简单;从 Felix 停止和卸载 bundle 效果很好。但是,如果您想在 Tomcat/Java 容器仍在运行时从 Load 目录中删除文件怎么办?当用户在我的应用程序中执行卸载插件的操作时,我想删除 JAR 文件,这样如果他们重新启动 Felix Framework(也是支持的 UI 操作),它就不会重新发现JAR 并重新加载插件。

当我尝试执行此操作时,尽管文件已被其他进程锁定。任何人都知道什么可能会锁定它以及如何关闭它以便我可以锁定 JAR 以移动/删除它?

注意:我尝试使用

关闭 Felix Framework
m_fwk.stop();
m_fwk.waitForStop( 0 );

其中 m_fwk 是 org.osgi.framework.launch.Framework 的启动实例

最佳答案

原来……有东西锁定了我的文件。当我弄清楚那是什么后,发现这与菲利克斯无关。任何有类似问题的人都不应该相信文件上的锁与 OSGi 框架完全相关或属于 OSGi 框架(因为我是 OSGi 的新手,所以我倾向于相信)。它不在这里,而且几乎肯定不会,即使对于其他框架也是如此;正如我所研究的那样,这将是与 OSGi 的主要区别。

无论如何,我的问题是通过在我尝试删除保持打开状态的 JAR 之前弄清楚包的哪个组件没有关闭来解决的,因为我无意中告诉它保持打开状态。 GI,GO.

关于java - Apache 菲利克斯 : Delete JAR from Load Directory without Container Shutdown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22155806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com