|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,OSGi是Java范畴里无可反驳的最成熟的模块体系,它与Java几近是如影相随,最早呈现于JSR8,可是最新标准是JSR291。OSGi在JAR的MANIFEST.MF文件中界说了分外的元数据,用来指明每一个包所请求的依附。这就让模块可以(在运转时)反省其依附是不是满意请求,别的,可让每一个模块有本人的公有classpath(由于每一个模块都有一个ClassLoader)。这可让dependencyhell尽早被发明,可是不克不及完整制止。和JDBC一样,OSGi也是标准(今朝是4.2版),有多个开源(及贸易)完成。由于模块不必要依附任何OSGi的特定代码,很多开源类库如今都将其元信息嵌进到manifest中,以便OSGi运转时利用。有些程序包没有这么做,也能够用bnd如许的工具,它能够处置一个已有的JAR文件并为其发生符合的默许元信息。自2004年Eclipse3.0从专有plugin体系切换到OSGi以后,很多其他专有内核体系(JBoss、WebSphere、Weblogic)也都随之将其运转时转向基于OSGi内核。
Java社区首脑AdamBien比来在其博客中以为,从手艺角度讲,OSGi切实其实是完成模块化的可行举措,但OSGi的次要应战不是手艺,而是模块和bundle的办理。他倡议在决意接纳OSGi框架开辟项目之前,思索以下成绩:
- 针对模块(bundle),接纳何种版本把持计划?年夜、小版本怎样界说?
- 接纳何种软件设置办理战略?同意开放和保护模块一切版本的分支吗?估计要保护几个分支?经由过程SVN吗?
- 在临盆情况中,同时存在几分歧版本的模块?
- 针对模块和模块组合,怎样举行测试?每个版本城市明显增添庞大度。
- 接纳何种公布办理战略?供应客户专属的模块组合吗?缺点修补/补钉战略是甚么?
- 必要在体系运转中交换模块吗?怎样处置正在举行的事件?
- 关于EclipseRCP使用,是不是应当开放插件给终极用户?
- 接纳何种软件分发体系?良多公司已有了一套软件分发体系。使用和JVM常常打包到一个二进制文件中全体安装。增量更新几近是不成能的。
- 模块之间怎样交互?只经由过程Java接口吗?假如是,那末JPA实体的间接联系关系怎样处置?
- 是不是接纳Maven形貌模块和OSGi?Maven模块版本会在OSGibundle版本中失掉表现吗?
AdamBien以为,在深切思索这十个成绩以后,OSGi大概就不再是项目标最好选择。
本文来自:http://www.infoq.com/cn/news/2010/03/ogsi_introduce_question
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包...... |
|