what is bundle?
来源:互联网 发布:Mac爱奇艺视频转换mp4 编辑:程序博客网 时间:2024/05/22 06:39
在OSGI中所有模块的部署都必须以Bundle的方式进行部署,即在osgi中,bunlde是最小的部署单元,osgi即是java模块化编程中的一个模块。
那么到底什么是Bundle呢?
Bundle其实就是一个jar文件,这个jar文件和普通的jar文件唯一的不同地方就是META-INF目录下的MANIFEST.MF文件的内容,
关于Bundle的所有信息都在MANIFEST.MF进行描述,说得时髦点,可以称它为bundle的元数据,这些信息中包含有象bundle的
名称、id、描述、开发商、classpath、需要导入的包以及输出的包等信息。
bundle是一个独立的概念,在osgi框架中对于每个bundle采用的是独立的classloader机制,这也意味着不能采用传统的
如引用其他bundle的工程来实现bundle间的协作了,那么bundle之间是怎样协作的呢,在osgi框架中对于每个bundle可以定义
输出的包以及引用的包,这样在bundle间就可以共享包中的类了,尽管这样也可以实现简单的bundle的协作,
但在osgi框架中更加推荐的是采用service方式,service-oriented的概念(例如soa)大家都接触多了,osgi框架同样如此,每
个bundle可以通过BundleContext注册对外提供的服务,同时也可以通过BundleContext来获得需要引用的服务,
采用Service-Oriented的方式可以使得对外提供的服务能够更加的封装,不需要为了使用别的Bundle提供的Service而做环境依
赖等设置,同时Bundle还可以采用Required-Bundle的方式来直接引用其它的bundle(相当于引用其它bundle的工程或jar)。
- what is bundle?
- What is what ?!
- what is what?
- What is portal? & What is portlet?
- what is game? what is good game?
- What Is 'SSL'? What Is 'SSH'?
- WHAT IS C#
- What is System Administration?
- What is EDI?
- What Is Wiki
- What is Struts Resume?
- what is blog??
- What is AspectJ
- what is grid ?
- What is MSN Messenger
- What is Plone?
- What is Mono?™
- What is AspectJ
- linux shell编程注意事项
- 多点触碰2
- equinox
- 多点触碰3
- linux,构建一个简单的nfs服务器
- what is bundle?
- 排序
- Android :动画的使用(1)
- FFT & DFT
- 移动互联网系统架构的特点
- hdu 1010DFS
- AOI(Area of Interest) - 基于单元格的算法简析
- jquery怎么实现全选复选框
- msvcrtd.lib和libcmtd.lib冲突 (转)