永发信息网

如何基于osgi平台开发应用app

答案:1  悬赏:70  手机版
解决时间 2021-04-04 07:41
如何基于osgi平台开发应用app
最佳答案
记得以前工作的时候,有天direct manager问我在tomcat下的应用A要使用应用B下的某个类,我告诉他是不行的,因为JDK对于类加载有命名空间,不同的命名空间之间相互不影响,即使类名相同,这也为了JVM的安全着想,所以tomcat为应用A和应用B都创建了各自类加载的命名空间从而相互不影响。
  而OSGi的设计理念看上就是把各种功能及服务做成Bundle并热拔插。换句话说,应用A,B此时被当作组件存活在OSGi平台上,B中的某个类可以公开出去,让其他组件可见,或者B中的某个类实例注册到OSGi容器中(类似解耦的方式之一),这样应用A就可以类似组件一样使用应用B中的资源了。
  这种模块化和热拔插的设计理念最流行的应用应该算eclipse吧,eclipse plugin就是这样加载模块化的方式,我觉得还是不错的,给我最爽的感觉就是一个应用的功能基本上都是由不同的人不同时间以组件方式被挂载到eclipse平台上面。
  
  其实,在自己的开发工作当中也是分模块实现应用不同的功能,并因为需求是变化的,说不定哪天XX需求就不要了,要新增YY需求,为了不修改过多的代码,保持开闭原则,所以在coding的时候也是非常注意模块化设计,并达到模块的可配置性。但那只是代码级别上的模块化,代码级别的好处是模块和模块之间的相互调用非常方便,适用于有一定耦合度的情况,而OSGi貌似实现了一个JVM层面的模块化,模块与模块之间如果要耦合的话,需要以上提到的export或注册。
  如果app应用比较单一,感觉就没必要了,有点大题小做。当然,如果建立这样的平台很轻松的话,又未尝不是一种新的尝试。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
随着人们对生物多样性的认识不断加深,生物多
马尔代夫的瓦度岛和白金岛哪个好
我近视390多度 不想带眼镜可以吗.可以
女生突然被男生牵手会有什么反应
窦娥冤第三折小品台词,元朝杂剧《窦娥冤》:
单选题有人这样描写甘地:“他有宗教家仁厚的
世界上最耐寒的鸟是什么?
肥料公司如何发展,企业的发展靠的是什么?
四年级下册8.56x1.5竖式计算
切眉提升眼角能保持多长时间?
三相电子表夜间亮屏怎么回事
是否药店里的绞股蓝就可以直接泡茶饮?
宝马x5发动机冷车启动喘息
胡萝卜靠什么繁殖,胡萝卜的繁殖方法
下列实验操作,正确的是A.实验室取约2毫升水
推荐资讯
八月祝福男生的祝福语,对喜欢的男生的生日祝
笔记本电脑出现这样的问题是不是显卡坏了?
深圳什么地方有钱人
北京新发地长途汽车站到洋桥怎么坐车?
在国外哪个网站看NBA比较好,国外上国内测也
江宁景枫有哪些好吃的
百词斩阅读计划是什么?
吴燕玲这个名字怎么样
洋县南小校歌歌词和名字
We’re glad to see the officials for the f
家里有电子秤的朋友们帮忙称一下30g淀粉是多
单选题下列关于生物群落演替的顶级阶段,正确
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?