</pre></h1><h1 style="margin:0 0 0 40px; border:none; padding:0px"><pre name="code" class="java">源码下载
pan.baidu.com/s/1qWmD39E
Bundle是什么?

一个Bundle能够理解为osgi的一个模块
Bundle是一个标准的jar,仅仅是在META-INF/MANIFEST.MF中增加Bundle元数据的描写叙述 Bundle元数据标识 Bundle-ManifestVersion: 2
Bundle-Name: student-model
Bundle-SymbolicName: com.demo.student-model
Bundle-Version: 0.0.1.SNAPSHOT

Export-Package

导出Bundle的某些包中的代码让其他Bundle訪问,以逗号分隔

Export-Package: org.student.model;version="0.0.1.SNAPSHOT"

Import-Package

导入其他Bundle的包中的代码,以逗号分隔

Import-Package: org.osgi.framework;version="[1.5,2)",org.student.model;v
ersion="[0.0,1)",org.student.management;version="[0.0,1)"

demo中Bundle依赖图

demo中Manifest

student-model:
Manifest-Version: 1.0
Bnd-LastModified: 1403962466615
Build-Jdk: 1.6.0_41
Built-By: Administrator
Bundle-ManifestVersion: 2
Bundle-Name: student-model
Bundle-SymbolicName: com.demo.student-model
Bundle-Version: 0.0.1.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Export-Package: org.student.model;version="0.0.1.SNAPSHOT"
Tool: Bnd-2.1.0.20130426-122213

student-management

Manifest-Version: 1.0
Bnd-LastModified: 1403962467467
Build-Jdk: 1.6.0_41
Built-By: Administrator
Bundle-ManifestVersion: 2
Bundle-Name: student-management
Bundle-SymbolicName: com.demo.student-management
Bundle-Version: 0.0.1.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Export-Package: org.student.management;uses:="org.student.model";version
="0.0.1.SNAPSHOT"
Import-Package: org.student.model;version="[0.0,1)"
Tool: Bnd-2.1.0.20130426-122213

student-management-impl

Manifest-Version: 1.0
Bnd-LastModified: 1403962467667
Build-Jdk: 1.6.0_41
Built-By: Administrator
Bundle-Activator: org.student.management.impl.StudentManagementActivator
Bundle-ManifestVersion: 2
Bundle-Name: student-management-impl
Bundle-SymbolicName: com.demo.student-management-impl
Bundle-Version: 0.0.1.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Import-Package: org.osgi.framework;version="[1.5,2)",org.student.model;v
ersion="[0.0,1)",org.student.management;version="[0.0,1)"
Tool: Bnd-2.1.0.20130426-122213

student-management-main

Manifest-Version: 1.0
Bnd-LastModified: 1403962467881
Build-Jdk: 1.6.0_41
Built-By: Administrator
Bundle-Activator: org.student.management.main.MainActivator
Bundle-ManifestVersion: 2
Bundle-Name: student-management-main
Bundle-SymbolicName: com.demo.student-management-main
Bundle-Version: 0.0.1.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Export-Package: org.student.management.main;uses:="org.osgi.framework";v
ersion="0.0.1.SNAPSHOT"
Import-Package: org.osgi.framework;version="[1.5,2)",org.student.model;v
ersion="[0.0,1)",org.student.management;version="[0.0,1)"
Tool: Bnd-2.1.0.20130426-122213

部署到karaf:

bundle:install wrap:mvn:com.demo/student-model/0.0.1-SNAPSHOT
bundle:start 80
bundle:install wrap:mvn:com.demo/student-management/0.0.1-SNAPSHOT
bundle:start 81
bundle:install wrap:mvn:com.demo/student-management-impl/0.0.1-SNAPSHOT
bundle:start 82
bundle:install wrap:mvn:com.demo/student-management-main/0.0.1-SNAPSHOT
bundle:start 83

osgi实战学习之路:4.Bundle的更多相关文章

  1. osgi实战学习之路:5.生命周期及利用命令、装饰者模式实现基于socket交互Bundle命令demo

    生命周期中关键3个类: BundleActivator 入口点,类似main方法 BundleContext Bundle上下文对象,在执行期间,为应用程序提供操作osgi框架的方法 Bundle 代 ...

  2. osgi实战学习之路:3. osgi分层概念及相互合作demo

    源码下载 分层: modual: 主要作用于包级管理与共享代码 lifecycle: 主要作用于执行期间的模块管理与訪问osgi底层框架 service: 主要作用于多模块之间的相互通信 demo: ...

  3. osgi实战学习之路:2. maven+maven-bundle-plugin+karaf搭建osgi之HelloWorld

    环境准备: jdk版本号 jdk:1.7 karaf: 版本号:apache-karaf-3.0.1 下载地址: http://pan.baidu.com/s/1qWM4Y1u http://kara ...

  4. osgi实战学习之路:1. ant+bnd+felix搭建osgi之HelloWorld

    开发环境分为三个部份 osgi_provider: bundle开发环境,对外提供服务 osgi_consumer: 引用其他bundle osgi_main: 执行測试 项目主要内容 : commo ...

  5. osgi实战学习之路:8. Service-3之ServiceTracker

    通过ServiceTracker能够对查找的Service进行扩展 以下的demo引入装饰器模式对Service进行日志的扩展 demo: Provider student-manage/Activa ...

  6. osgi实战学习之路:6. Service-1

    什么是Service? 它是注冊到osgi的一个java对象 Service注冊: 通过BundleContext::registerService(java.lang.String[] clazze ...

  7. Salesforce学习之路(十三)Aura案例实战分析

    Aura相关知识整合: Salesforce学习之路(十)Aura组件工作原理 Salesforce学习之路(十一)Aura组件属性<aura:attribute /> Salesforc ...

  8. [精品书单] C#/.NET 学习之路——从入门到放弃

    C#/.NET 学习之路--从入门到放弃 此系列只包含 C#/CLR 学习,不包含应用框架(ASP.NET , WPF , WCF 等)及架构设计学习书籍和资料. C# 入门 <C# 本质论&g ...

  9. Android开发学习之路--Android Studio cmake编译ffmpeg

      最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路– ...

随机推荐

  1. php5.3中namespace的说明,帮助初次接触namespace的phper快速理解

    命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误.这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀,但是方法名变的很长 ...

  2. ECMAScript 6 (浅显入门)

    1.let:ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为unde ...

  3. 关于JavaScript的一些不得不知道的事儿

    1.JavaScript不区分整数和浮点数,统一用Number表示. 2.NaN这个特殊的Number与所有其他值都不相等,包括它自己: NaN===NaN; //false 唯一能判断NaN的方法是 ...

  4. netbeans生成的maven工程没有web.xml文件 如何新建

    使用netbeans生成的maven工程没有web.xml 需要自己新建 步骤: 下一步,完成

  5. wordpress主题之后台菜单编辑,小工具

    1一:菜单编辑 在functions.php 文件加入 if (function_exists('register_nav_menus')) { register_nav_menus(array( / ...

  6. vue学习之组件(component)(二)

    自定义事件 父组件使用 prop 传递数据给子组件.但子组件怎么跟父组件通信呢?这个时候 Vue 的自定义事件系统就派得上用场了. 1. 使用 v-on 绑定自定义事件 每个vue实例都实现了事件接口 ...

  7. 会话技术之cookie(记录当前时间、浏览记录的记录和清除)

    cookie 会话技术: 当用户打开浏览器的时候,访问不同的资源,直到用户将浏览器关闭,可以认为这是一次会话. 作用: 因为http协议是一个无状态的协议,它不会记录上一次访问的内容.用户在访问过程中 ...

  8. 洛谷 P3950 部落冲突 树链剖分

    目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例1 输出样例1 输入样例2 输出样例2 输入样例3 输出样例3 说明 思路 AC代码 总结 题面 题目链接 P3 ...

  9. 利用Factory-boy来生成实例数据

    库和版本:Faker==2.0.0factory-boy==2.12.0 官方文档:https://factoryboy.readthedocs.io/en/latest/index.html 1. ...

  10. CNCF 旗下首个为中国开发者量身打造的云原生课程,《CNCF x Alibaba 云原生技术公开课》即将上线

    伴随着以 Kubernetes 为代表的云原生技术体系的日益成熟以及 CNCF 生态的逐渐壮大,“云原生”已然成为了未来云计算时代里一个当仁不让的关键词.但是,到底什么是“云原生”?云原生与 CNCF ...