微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – OSGi vs jboss热部署

根据我的理解,在Osgi中,您可以在运行时更新jar,而无需重新启动服务器.但是,jboss还具有热插拔,全耳朵更新并且服务器仍在运行.

那么Osgi在jboss的企业Java项目中会有什么好处呢?

解决方法

我相信答案与每个Osgi用例相同:模块化和更精细的更新粒度.

Osgi远不止在运行时更新jar,而是不重新启动服务器.从您的问题的角度来看,它是在运行时更新jar,而不重新启动应用程序.

我承认我不知道JBoss AS中EAR热部署的具体实现,但无论如何,EAR更新都不可能被设计为保留应用程序的整个状态.服务器仍在运行,但您在更新时基本上重新启动应用程序.这种状态损失的程度真的取决于你如何设计你的应用程序,但事实依然是你在单纯地做事情.

使用Osgi,情况并非如此:应用程序由大量的软件包组成,每个软件包都希望能够处理单独的功能部分.这种方法使得能够进行应用内部的热部署,因为该框架被设计为考虑重新启动任何单个jar对整个应用程序带来的影响,并使其他jar响应适当.这提供了尽可能多地保留应用程序状态的能力.

因此,Osgi设计在企业案例中的好处是应用程序活动.没有必要强调这一点的重要性.真的有一些用例可以安全地重新启动应用程序.但是,在我看来,Osgi是目前Java EE唯一真正可扩展和可维护的选择.事实上,最重要的应用程序服务器已经(或将要去)到Osgi运行时(并因此提供了Osgi应用程序支持),这就证明了这一点.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐