java是一个OSGi用例,我说得对吗?
我只是对OSGi技术很熟悉——从未使用过,但听说过很多次。我已经读了几篇文章“为傻瓜”,但我认为我仍然不能完全理解它的用例。也许你们中的一些人可以确认我是否理解正确
下面是我可能想做的一个例子。 让我们假设我想要构建一个JavaWeb应用程序。简单的战争。但是,它的组织方式使它包含不同的模块。每个模块将包含不同的功能。也许每个模块都会打包成一个单独的罐子,我不确定
现在,我想要的是应用程序的UI部分,能够检查哪些模块也被部署,以便显示(或不显示)相关的菜单、项目、页面部分等
那么,OSGi技术是否能解决此类问题?这就是它的目的,还是我偏离了轨道
提前感谢您的回答
# 1 楼答案
Vaadin是一个基于osgi的web框架,您可以在其中实现这一点。 或者你可以看看OSGI and Equinox这本书,它应该包含足够的信息来帮助你推出自己的解决方案
# 2 楼答案
是的,OSGi技术是您在问题中提到的那种问题的解决方案
Eclipse是一个使用OSGi技术的解决方案。在Eclipse中,UI将是Eclipse富客户机平台(RCP),而其他模块将是Eclipse插件。每个模块都是一个单独的包,包含比JAR更多的组件
您可以使用其他解决方案平台,也可以自己编写所有OSGi代码。OSGi背后的思想是使您的应用程序更加模块化,这样您就可以在不必更新整个应用程序的情况下更新应用程序的各个部分
# 3 楼答案
我想说这正是OSGi所迎合的场景
查看Eclipse RAP project,它运行在Equinox OSGI container之上,并执行您描述的那种操作
在vogella.de上提供了一些优秀的教程