此教程基于OSGi Core Release 7 OSGi命名空间规范 详细的教程上面的英文教程里面有详细说明. 我就记录一下自己看完之后的简单理解: OSGi的Namespace规范就是规定了你Manifest文件中Capabilities/Requirements的那些字符串在后台被解析成了什么. 其中,OSGi核心的Namespace有以下几个: 1. osgi.ee OSGi Java运行环境 2. osgi.wiring.package OSGi的导入,导出包 3. osgi.wiri…
此教程基于OSGi Core Release 7 OSGi Resource API规范 详细内容上面英文教程有详细解答 下面主要是一些个人见解,若有不当之处,欢迎指出: Resource:就是能够被安装在OSGi环境中的实体(一般指bundle),当其所有的Requirements(需求)被满足后就能够提供它所声明的Capabilities(功能). Enviroment:一个框架或者一个容器,其中包含一个或者多个Resource. Namespace:定义了Requirements和Capa…
此教程基于OSGi Core Release 7 OSGi类空间的一致性 详细内容上面英文教程有详细解答 下面主要是一些个人见解,若有不当之处,欢迎指出: "Class space consistency can only be ensured if a bundle has only one exporter for each package." 也就是说要想保证类空间的一致性,就要保证一个bundle的每个import的package只能有一个来源. 比如像下图这个就会导致冲突:…
OSGi 系列(一)之什么是 OSGi :Java 语言的动态模块系统 OSGi 的核心:模块化.动态.基于 OSGi 就可以模块化的开发 java 应用,模块化的部署 java 应用,还可以动态管理模块. OSGi(Open Service Gateway Initiative) 技术是 Java 动态化模块化系统的一系列规范.OSGi 一方面指维护 OSGi 规范的 OSGi Alliance(OSGi 联盟),另一方面指的是该组织维护的基于 Java 语言的服务(业务)规范.简单来说,OS…
Helloworld入门 准备: eclipse 3.4 需要jar,—— eclipse 自带的,plugin下面有很多,抛开里面的jar,很多都是当前项目不需要的,如果不适用eclipse而是直接在jre上运行的话,估计只需要org.eclipse.osgi_3.2.0.v20060601.jar 就ok了吧 通过eclipse想到创建最简单的项目: 新建plugin项目,输入项目名字AAA(默认情况,向导会以这个为包名等等)——Target Platform一定要选择 an osgi fr…
几种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 to its use in the core runtime of Eclipse. It can also…
OSGi简介 OSGi是什么 下面来看看“维基百科”给出的解释: OSGi(Open Service Gateway Initiative)有双重含义.一方面它指OSGi Alliance组织:另一方面指该组织制定的一个基于Java语言的服务(业务)规范——OSGi服务平台(Service Platform). OSGi Alliance是一个由Sun Microsystems.IBM.爱立信等于1999年3月成立的开放的标准化组织, 最初名为Connected Alliance.该组织及其标准…
一.JVM 类加载器: 一个类在使用前,如何通过类调用静态字段,静态方法,或者new一个实例对象,第一步就是需要类加载,然后是连接和初始化,最后才能使用. 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading).验证(Verification).准备(Preparation).解析(Resolution).初始化(Initialzation).使用(Using)和卸载(Unloading)7 个阶段.其中验证.准备.解析 3 个部分统称为连接(Linking…
OSGi模块化框架是很早就出来的一个插件化框架,最早Eclipse用它而出名,但这些年也没有大热虽然OSGi已经发布了版本1到版本5.现在用的最多的,也是本文讲述基于的是Equinox的OSGi实现,同时也是Eclipse核心,Spring Dynamic Module也是基于Equinox.OSGi框架为java系统提供了一个通用的容器,该系统中的 bundle,无需停止系统,即可实现 bundle 的安装.卸载.OSGi是Java中目前唯一的一个模块化.动态化的规范.在模块化方面OSGi联盟…
上篇文章中介绍了如何使用独立的Equinox发行包搭建OSGI运行环境,而不是依赖与具体的Eclipse基础开发工具,本文开始介绍如何使用Blueprint將Spring框架整合到OSGI中. 一.开发一个自己Bundle 在整合之前,我们接着上篇文章的内容,先来开发一个自己的Bundle. 首先新建一个Plug-in Project,名称为com.csdn.osgi.common,如下图: an OSGI framework选项依然选择standard,表示使用标准的OSGI规范,单击Next…