OSGi实战:服务追踪与并发服务请求
需积分: 3 13 浏览量
更新于2024-08-02
收藏 2.52MB PDF 举报
"osgi in practice"
本书《OSGi in Practice》由Neil Bartlett撰写,发布于2009年1月11日,主要探讨了OSGi(Open Service Gateway Initiative)技术及其在实际开发中的应用。书中内容涵盖了OSGi的基本概念、问题、解决方案以及与JARs、J2EE类加载器的对比,并介绍了如何开始使用OSGi。
1. OSGi基础
- 模块系统:OSGi的核心是模块化,作者在第1章介绍什么是模块,解释了模块系统对于软件工程的重要性。
- JARs的问题:JARs作为Java应用程序的打包方式,存在一系列问题,包括类加载器的全局类路径问题、类冲突、缺乏显式依赖、版本信息不足以及无法在JARs之间实现信息隐藏。
1.1 J2EE类加载
书中讨论了J2EE环境下的类加载机制,指出它与OSGi的差异。
1.2 OSGi:简单理念
- 从树到图:OSGi将类的依赖关系从静态的树状结构转变为动态的图结构,允许更灵活的依赖管理。
- 信息隐藏:OSGi包(bundle)提供了一种信息隐藏机制,增强了代码的封装性。
- 版本控制:OSGi支持并行版本,使得不同版本的库可以同时存在并互不影响。
1.3 动态模块
OSGi的模块系统是动态的,这意味着模块可以在运行时安装、启动、停止和卸载,提供了高度的灵活性。
1.4 OSGi联盟与标准
OSGi Alliance制定了一系列标准,推动了OSGi的规范化发展。
1.5 OSGi实现
书中提到了一些OSGi的实现,如Equinox和Felix,它们是OSGi规范的具体实现。
1.6 OSGi的替代方案
- 构建工具:Maven和Ivy等工具可以解决部分模块化问题,但它们并不是完整的模块系统。
- Eclipse插件系统:虽然Eclipse有自己的插件模型,但它并非完全符合OSGi标准。
- JSR277:这是一个试图标准化Java模块化的Java Specification Request,但与OSGi有区别。
2. 开始使用OSGi
- 包建设:作者详细讲解了如何构建OSGi bundle,这是使用OSGi的第一步。
- OSGi开发工具:推荐了Eclipse PDE(Plugin Development Environment)和bnd等工具,用于简化OSGi开发过程。
- 安装框架:指导读者如何安装和配置OSGi框架,如Felix。
- 设置Eclipse:提供配置Eclipse以支持OSGi开发的步骤。
- 运行Felix:演示了如何启动Felix框架。
- bnd安装:解释了bnd工具的安装过程。
- "Hello, World!"示例:通过一个简单的示例,引导读者开始OSGi编程。
《OSGi in Practice》深入浅出地介绍了OSGi的概念和实践,旨在帮助开发者理解OSGi的优势,克服传统Java开发中遇到的问题,以及如何利用OSGi实现更高效、更灵活的模块化系统。
140 浏览量
2018-04-09 上传
2009-04-25 上传
2021-07-07 上传
2022-09-22 上传
2019-07-26 上传
2010-01-19 上传
2010-11-17 上传
2025-01-09 上传
mosquitoflying
- 粉丝: 0
- 资源: 7
最新资源
- GEN32“创世纪32“监控组态软件.rar
- valle-input:很棒的valle输入元素-使用Polymer 3x的Web组件
- Simple Picture Puzzle Game in JavaScript Free Source Code.zip
- ssm高考志愿填报系统设计毕业设计程序
- MyApplication:组件化、
- wc-core:Mofon Design的Web组件核心
- odrViewer.zip_odrViewer_opendrive_opendrive viewer_opendrive可视化_
- Simple Table Tennis Game using JavaScript
- 同步安装文件2.rar
- GalaxyFighters-开源
- STM32+W5500 Modbus-TCP协议功能实现
- Excel做为数据库登录的三层实现_dotnet整站程序.rar
- konsave:Konsave允许使用保存您的KDE Plasma自定义设置并非常轻松地还原它们!
- make-element:创建没有样板的自定义元素
- MachineLearning
- Simple Platformer Game using JavaScript