osgi实战学习之路:4.Bundle
</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的更多相关文章
- osgi实战学习之路:5.生命周期及利用命令、装饰者模式实现基于socket交互Bundle命令demo
生命周期中关键3个类: BundleActivator 入口点,类似main方法 BundleContext Bundle上下文对象,在执行期间,为应用程序提供操作osgi框架的方法 Bundle 代 ...
- osgi实战学习之路:3. osgi分层概念及相互合作demo
源码下载 分层: modual: 主要作用于包级管理与共享代码 lifecycle: 主要作用于执行期间的模块管理与訪问osgi底层框架 service: 主要作用于多模块之间的相互通信 demo: ...
- 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 ...
- osgi实战学习之路:1. ant+bnd+felix搭建osgi之HelloWorld
开发环境分为三个部份 osgi_provider: bundle开发环境,对外提供服务 osgi_consumer: 引用其他bundle osgi_main: 执行測试 项目主要内容 : commo ...
- osgi实战学习之路:8. Service-3之ServiceTracker
通过ServiceTracker能够对查找的Service进行扩展 以下的demo引入装饰器模式对Service进行日志的扩展 demo: Provider student-manage/Activa ...
- osgi实战学习之路:6. Service-1
什么是Service? 它是注冊到osgi的一个java对象 Service注冊: 通过BundleContext::registerService(java.lang.String[] clazze ...
- Salesforce学习之路(十三)Aura案例实战分析
Aura相关知识整合: Salesforce学习之路(十)Aura组件工作原理 Salesforce学习之路(十一)Aura组件属性<aura:attribute /> Salesforc ...
- [精品书单] C#/.NET 学习之路——从入门到放弃
C#/.NET 学习之路--从入门到放弃 此系列只包含 C#/CLR 学习,不包含应用框架(ASP.NET , WPF , WCF 等)及架构设计学习书籍和资料. C# 入门 <C# 本质论&g ...
- Android开发学习之路--Android Studio cmake编译ffmpeg
最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路– ...
随机推荐
- 20190807-RP-Explosion
如题,RP爆发后爆炸了. 话说在七夕这天考试? 那么? 黑暗又来临了? 没有人见过那一幕. 在如漆般胶着的黑暗中, Struggle?Dying? 用鲜血浇灌花朵,用死亡迎接明天. 考试过程: 看看三 ...
- Linux下允许MySQL 授权远程连接
1.mysql -u root -p (root)用户名 2.mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'r ...
- innerhtml outhtml innerText outText 区别
innerHTML获取标签内的HTML outerHTML获取标签及标签内的HTML innerText 设置或获取位于对象起始和结束标签内的文本 outerText 设置(包括标签)或获取(不包括标 ...
- mysql连接出现Unknown system variable 'tx_isolation'异常
出现这个异常,是因为mysql-connector-java.jar的版本太低,数据库的版本太高,不匹配导致的. 因此将mysql-connector-java升级到最新版本就解决了问题. 最新的三个 ...
- xinetd服务管理
xinetd服务的管理文件都放在 /etc/xinetd.d目录内,我们可以编辑这个目录内的服务文件来开启和关闭服务.每个服务文件都有disable 这个行,如果把值改成yes就是禁用服务,如果是no ...
- I Love Palindrome String
I Love Palindrome String 时间限制: 2 Sec 内存限制: 128 MB 题目描述 You are given a string S=s1s2..s|S| containi ...
- MaxCompute问答整理之7月
本文是基于本人对MaxCompute产品的学习进度,再结合开发者社区里面的一些问题,进而整理成文.希望对大家有所帮助. 问题一.DataWorks V2.0简单模式和标准模式的区别?公司数仓的数据上云 ...
- Django与HTML业务基本结合
app里都有migrations文件 app: migrations 数据修改表结构,数据库操作记录 admin Django为我们提供后台管理 apps 配置当前app models ORM,写指定 ...
- JZOJ 5459 购物
Description X 城的商场中,有着琳琅满目的各种商品.一日,小X 带着小Y 前来购物,小Y 一共看中了n件商品,每一件商品价格为Pi.小X 现在手中共有m个单位的现金,以及k 张优惠券.小X ...
- (转)Cookie存中文乱码的问题
有个奇怪的问题:登录页面中使用Cookie存值,Cookie中要存中文汉字.代码在本地调试,一切OK,汉字也能顺利存到Cookie和从Cookie中读出,但是放到服务器上不管用了,好好的汉字成了乱码, ...