junqing的个人博客分享 http://blog.sciencenet.cn/u/junqing

博文

关于OSGi应用开发的一个比较完整的例子

已有 6166 次阅读 2010-10-8 20:11 |个人分类:未分类|系统分类:科研笔记

前面讲到可以用 OSGI 作为你的微内核,微内核的好处可以打个这样的比方:一台 Linux 服务器出故障了,应用程序坏了、某些服务不能访问等,但只要它还来连入网络,SSH 还是活的,我们就有办法进去修复它,想安装、卸载什么都行。

OSGI 也能让你动态的增减服务,或者说动态的加载卸载类等资源。OSGI 中的资源称作 Bundle,所以如果是基于 OSGI 的程序,能够在网上找到许多有用的 Bundle 直接在线插入到你的软件系统中。Bundle 其实就是一个 jar 文件,只是在 MANIFEST.MF 中有些特殊的定义,每个 Bundle 靠实现的 BundleActivator 的去控制 Bundle 的生命周期和发布、监听框架的事件,或者说与框架进行通信。

OSGI 是个规范,它的实现目前有 Equinox、Knopflerfish、Oscar、Felix 等,由于天天与我打交道的是 Eclipse 以及它背后的 Equinox,所以这里的示例程序就使用 Equinox 吧。

本例是基于 《OSGI实战》这一 PDF 文档稍加改造而成,比原例要简单,因为尽量避免了引入其他的 Bundle,不是 Web   应用,而是做成了一个窗口程序。

详细见: http://hi.baidu.com/vincent_luo/blog/item/c667c03d5ce03ae23c6d9746.html



https://wap.sciencenet.cn/blog-458387-371082.html

上一篇:研究关于面向服务系统(Service Oriented Systems)
下一篇:Endnote文献管理软件
收藏 IP: .*| 热度|

0

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-2 15:49

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部