OSGI
paullinjie
这个作者很懒,什么都没留下…
展开
-
【OSGi】OSGi框架的三个层次
OSGi框架OSGi框架规范中定义了框架的正确行为;而核心框架可有多种实现方式。OSGi框架是根据OSGi规范中定义的三个概念层设计的:1)模块层模块层关注于打包、共享代码。模块层定义了OSGi模块的概念(bundle,即包含一个元数据MANIFEST.MF的JAR文件)。bundle比标准JAR文件更强大,它可以声明哪些包对外可见(Export-Package转载 2017-04-10 17:36:46 · 813 阅读 · 0 评论 -
Require-Bundle与Import-Package
Require-Bundle的作用Require-Bundle的缺点1、不知道究竟导入了哪些包2、导出包的bundle重构后,会影响导入bundle3、导致导入大量无用的包为什么引入Require-Bundle?Require-Bundle的作用Another kind of constraint that can be placed on a bundle is th转载 2017-04-11 16:18:58 · 2537 阅读 · 0 评论 -
【OSGi】OSGi类加载流程
思路OSGi每个模块都有自己独立的classpath。如何实现这一点呢?是因为OSGi采取了不同的类加载机制:OSGi为每个bundle提供一个类加载器,该加载器能够看到bundle Jar文件内部的类和资源;为了让bundle能互相协作,可以基于依赖关系,从一个bundle类加载器委托到另一个bundle类加载器。 Java和J2EE的类加载模型都是层次化的,只能委托转载 2017-04-11 16:14:29 · 350 阅读 · 0 评论 -
OSGi如何解决Java模块化的不足
网络上很多OSGi的文章上来就Activator实例,看得云里雾里。要想了解OSGi,首先要知道为什么要用OSGi?它有哪些好处?首先要明确:Java缺少对高级模块化的支持。OSGi服务平台是专门针对Java对模块化支持不足的情况,由OSGi联盟定义的一个行业标准,它引入了一个面向服务的编程模型,被称作“VM中的SOA”Java模块化的不足为什么说Java缺少对高级模块化的支持?J转载 2017-04-11 16:11:18 · 578 阅读 · 0 评论 -
基于Equinox构建OSGi项目
几种OSGi框架Several independently implemented OSGi frameworks exist today, including four that are available as open source software.Equinox is the most widely deployed OSGi framework today owing t转载 2017-04-11 09:55:50 · 470 阅读 · 0 评论 -
【OSGi】OSGi生命周期
1 生命周期管理对于非模块化应用,生命周期将应用作为一个整体来操作;而对于模块化应用,则可以以细粒度的方式来管理应用的某一个独立部分。OSGi生命周期管理OSGi生命周期层有两种不同的作用:在应用程序外部,定义了对bundle生命周期的相关操作。OSGi生命周期层允许在执行时,从外部安装、启动、更新、停止、卸载不同的bundle,进而定制应用的配置。在应用程序内部,定义了b转载 2017-04-11 09:52:06 · 343 阅读 · 0 评论 -
【OSGi】OSGi与Maven、Eclipse PlugIn的区别
OSGi与MavenMaven也具有模块化系统的特征;但是它只是一个编译时工具,而不是运行时框架。Maven并不是OSGi的竞争者,而是OSGi的一个补充。通过在pom.xml中指定所依赖jar包的名称、版本号,Maven就能在编译时自动下载正确的jar文件,并部署到classpath中。然而Maven并没有解决JAR文件的缺点:同样使用全局的classpath;同样不能做转载 2017-04-11 09:39:23 · 450 阅读 · 0 评论 -
【OSGi】OSGi依赖解析
自动解析依赖OSGi框架执行的最重要的任务之一就是自动化管理依赖,也就是bundle依赖解析。bundle类加载器在执行时,每个bundle都有一个与之关联的类加载器,这个类加载器使得bundle可以获得其有权访问的所有类。当导入bundle连接到导出bundle时,导入bundle的类加载器会得到导出bundle的类加载器引用。因此导入bundle可以委托导出bundle的类转载 2017-04-11 08:19:35 · 521 阅读 · 0 评论 -
2. bundle与模块化
模块层是OSGi框架的最基础层次,是OSGi其他部分的基础。1、模块定义:一个从逻辑上封装实现类的集合,一个基于实现类子集的可选公共API,一个对外部代码依赖关系的集合。package是Java提供的一种内建的模块化方式,但它有一些限制:http://blog.csdn.NET/vking_wang/article/details/9735395以上讨论的都是“逻辑模块转载 2017-04-10 17:38:54 · 423 阅读 · 0 评论 -
Service
概念服务服务就是:为别人完成的工作。目的:是让别人为你工作,而不是试图自己做一切事情。和方法调用的区别:服务是指提供者及其使用者之间的一个契约,使用者不关心服务的具体实现,甚至不关心是谁提供的,只要遵守约定的契约即可。面向服务的设计方式鼓励用即插即用的方式来进行软件开发,这意味着在开发、测试、部署、维护过程中有更大的灵活性。接口+依赖注入Java中一转载 2017-04-11 16:33:26 · 518 阅读 · 0 评论