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开发学习之路– ...
随机推荐
- 移动端页面输入法挡住input输入框的解决方法
1,宽高用了百分比或者vw/vh布局的,input输入框的最外层父容器的可用JS动态设置为当前窗口的宽高(防止输入法的弹出令页面变形) 2,最外层父容器用了fixed定位的,不要用top:0;要用bo ...
- Web App开发注意事项
1.首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用 <meta content=”width=device-width, ini ...
- 关于JavaScript的43道题①
最近在github上大火的43到js代码题,有很多人搬运.原链接https://github.com/lydiahallie/javascript-questions 1.下面代码的输出是什么? fu ...
- HTTP协议①介绍
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准. HTTP是一个基于TCP/IP通信 ...
- php用mysql方式连接数据库出现Deprecated报错
以上是用php5.5 连接mysql数据库时报的错. 于是我用php5.4 连接正常没有报错. 这与mysql版本无关系,php 5.x版本,如5.2.5.3.5.4.5.5,怕跟不上时代,新的服务器 ...
- Mybatis insert返回主键ID
Mybatis insert语句书写 <insert id="insertSelective" useGeneratedKeys="true" keyPr ...
- JSP-Cookie和Session
1 会话技术简介 1.1 存储客户端状态 1.2 会话技术 2 Cookie技术 2.1 Cookie技术的购物 2.2 服务器端向客户端发Cookie //1.创建cookie对象 Cookie c ...
- Kth Minimum Clique
Kth Minimum Clique 题目描述 Given a vertex-weighted graph with N vertices, find out the K-th minimum wei ...
- JavaScript-JQ初探实现自定义滚动条
这是一个基本实现思路,如果有新手和我一样没什么事,喜欢瞎研究话,可以参考下. 一.Html <div class="scroll_con"> <div class ...
- gawc全球城市
http://www.lboro.ac.uk/gawc/world2016t.html Global city From Wikipedia, the free encyclopedia Pa ...