欢迎来到天天文库
浏览记录
ID:20445010
大小:899.30 KB
页数:20页
时间:2018-10-11
《实习生培训教材-osg基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、OSGi基础2011-9初识OSGi2010-OSGi元年OSGi为java模块化提供框架OSGi正受到IBM和Eclipse基金会的大力支持OSGi过于复杂它的规则过于复杂而且是低阶的对于企业Java环境,需要进行很多改善和缩写工作对于实际需求来说,又过于强大。OSGi框架的组成部分OSGiFramework组成部分说明Bundles—Logicalmodulesthatmakeupanapplication.SeeOSGiBundles.Servicelayer—Providescommunicationamongmodulesandtheirco
2、ntainedcomponents.Thislayeristightlyintegratedwiththelifecyclelayer.SeeOSGiServices.Lifecyclelayer—ProvidesaccesstotheunderlyingOSGiframework.Thislayerhandlesthelifecycleofindividualbundlessoyoucanmanageyourapplicationdynamically,includingstartingandstoppingbundles.Modulelayer—P
3、rovidesanAPItomanagebundlepackaging,dependencyresolution,andclassloading.Executionenvironment—AconfigurationofaJVM.Thisenvironmentusesprofilesthatdefinetheenvironmentinwhichbundlescanwork.Securitylayer—OptionallayerbasedonJava2security,withadditionalconstraintsandenhancements.OS
4、GiBundlesOSGi中,我们将应用程序模块化成bundle,每个bundle是由一些紧耦合的,动态加载的,类的集合以及明确声明依赖关系的配置文件组成的jar。Bundle可以在OSGi容器中installed,started,stopped,updated,andremoved。Bundle允许模块之间共享类,这是一种静态重用的形式。当bundle在容器中启动后,它share出来的类即可被其他类引用。Bundle是jar文件,他的清单文件显式地声明了jar中哪些包对外是可见的(exportedpackages),哪些外部包是本包需要的(impor
5、tedpackages).OSGiService简述OSGiService是一个javaclass或者服务接口的实例,它具有名值对OSGiService通过接口来定义语义,通过一个java对象实现接口。OSGi服务注册服务提供者注册服务到服务注册库中,让别的bundle来使用服务消费者查找服务并与服务提供者绑定bundle标准的maven目录将Maven项目改成OSGibundleChangethepackagetypetobundle.Addthebundleplug-intoyourPOM.CustomizetheJDKcompilerversio
6、n.将Maven项目改成OSGibundle将Maven项目改成OSGibundle定制bundle的属性定制bundle的属性org.apache.felixmaven-bundle-plugintrue${felix-version}META-INF7、tructions>${pom.artifactId}META-INF.com.greattree.example.reportincident.model,com.mysql.jdbc,com.greattree.example.reportincident.model,org.apache.commons.dbcp,*com.greattree.example.re8、portincident.dao.impl
7、tructions>${pom.artifactId}META-INF.com.greattree.example.reportincident.model,com.mysql.jdbc,com.greattree.example.reportincident.model,org.apache.commons.dbcp,*com.greattree.example.re
8、portincident.dao.impl
此文档下载收益归作者所有