当前位置:  开发笔记 > 编程语言 > 正文

用Java动态加载模块

如何解决《用Java动态加载模块》经验,为你挑选了1个好方法。

在Java中,我可以动态地向classpath添加内容并加载类("动态"意味着不重新启动我的应用程序).是否有一个已知的框架/库来处理模块的动态加载/卸载而不重启?

通常的设置,特别是对于web应用程序,是负载均衡器,几个应用程序实例,以及逐步部署和重新启动新版本.我正在寻找其他东西 - 具有多个服务/插件的应用程序,可能是单实例桌面应用程序,其中禁用单个服务很便宜,但是关闭或重新启动完整的应用程序是不可行的.

我正在考虑典型的插件基础结构,可以在不重新启动应用程序的情况下升级或安装插件.我是否必须从头开始编程,或者已经有可用的东西?Spring兼容和开源是一个优点,但不是一个要求.



1> VonC..:

您可以考虑在OSGI框架中运行spring应用程序.

我相信DMServer是一个基于模块的Java应用服务器,旨在运行基于OSGI的企业Java应用程序和Spring驱动的应用程序

您可以在此Hello,OSGi,第2部分:Spring动态模块简介中找到更多详细信息,特别是如何使用Spring DM在正在运行的系统中动态安装,更新和卸载模块.


注意:当您谈到"可以在不重新启动应用程序的情况下升级或安装插件"时,OSGI是第一个想到的候选框架.

这完全是关于将应用程序模块化为更小的捆绑包.
每个bundle都是一个紧密耦合,可动态加载的类,jar和配置文件集合,它们明确声明了它们的外部依赖关系(如果有的话).

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有