我的应用程序需要根据请求动态加载/卸载一些组件(jar文件)。例如,我有abc.jar和xyz.jar,根据需要,我的应用程序应该能够加载/卸载abc.jar或xyz.jar,或者用不同版本的jars替换这些jars。是否有动态加载/卸载jar文件的方法(即无需重启服务器)?
在网上阅读的时候,我对osgi的了解很少,但我不想深入框架,因为这可能会使框架变得复杂。有没有简单的方法来实现这一点?我使用的是Java、J2EE和Jetty6服务器。
发布于 2013-05-29 18:18:44
看看布拉查和梁的开创性论文"Dynamic class loading in the Java virtual machine“。它们解释了类加载器如何工作,以及如何使用接口和类加载器来支持动态更改。这是一本值得一读的书(你应该能够通过谷歌搜索论文的名称来获得一个免费的PDF )!
发布于 2013-05-29 20:07:26
您可以使用共享库,并在应用服务器类/库路径中引用共享库。
而且您可以随时更改放置在其中的jars的版本。
https://stackoverflow.com/questions/16810641
复制相似问题