OSGI学习一(使用Apache Felix搭建OSGI开发环境)
来源:互联网 发布:数据库系统管理 编辑:程序博客网 时间:2024/04/29 04:06
- 简述OSGI
首先我们要认识一下什么是OSGI,OSGI亦称Java动态模块,它的最大作用就是来帮助我们实现Java的模块化应用的。OSGI首先是一套规范,然后是一个容器,所以我们可以很容易地将其与JavaEE技术作对比,我们知道JavaEE的架构是分为一个容器和多个应用(即web项目)的,Tomcat、Jboss这些应用服务器就是容器,我们基于这个标准下编写的一些JSP和Servlet所构成的项目只需要部署到相应的容器之中,就可以运行良好;与JavaEE的这种架构类似,OSGI也由一个容器和多个插件(这个插件通常被称为Bundle)组成,我们只需要按照一定的规范将这些插件部署到容器之中,整个OSGI程序就可以运行良好,当然JavaEE和OSGI的最大区别在于,JavaEE的服务器和web应用通常是分开的不同web应用之间往往没有什么依赖,而OSGI的容器和插件通常要一起使用,插件和插件之间一般有依赖关系,所以JavaEE的服务器和web应用可以被看做是多个项目,而OSGI可以被看做是同一个项目的多个模块。
那么我们为什么要使用OSGI技术呢?或者说OSGI有什么优点呢?简单来说OSGI的使用可以让我们的大型应用更为稳定、更易于维护和修改。我们在通常的开发过程中,往往是依据模块来进行任务的划分的,但是每个模块的功能和依赖我们并没有一个统一的管理标准,随着项目的发展,这一问题会不断凸显,导致维护的成本升高,而OSGI技术为我们提供一个较为标准的模块维护格式,此外OSGI框架的一个优点是支持插件的热插拔和版本替换,有利于程序的稳定性和升级。
- 实践OSGI
Apache Felix是OSGI技术的一个开源框架,类似的实现还有大名鼎鼎的Eclipse下的OSGI框架Knoflerfish等,Equinox,我们在这里使用Felix搭建OSGI环境。
首先在Apache的网站上下载Apache Felix的二进制发布版,在eclipse下建立一个Java项目,将Felix解压覆盖这个项目,然后将lib目录下的felix.jar加入ClassPath中,Felix的启动入口是其org.apache.felix.main.Main类中的main方法,我们可以自己在类中调用这个方法来启动整个容器。
启动后,控制台将显示:
Hello World!!
____________________________
Welcome to Apache Felix Gogo
g!
____________________________
Welcome to Apache Felix Gogo
g!
输入lb命令,回车:
START LEVEL 1
ID|State |Level|Name
0|Active | 0|System Bundle (4.0.1)
1|Active | 1|Apache Felix Bundle Repository (1.6.6)
2|Active | 1|Apache Felix Gogo Command (0.12.0)
3|Active | 1|Apache Felix Gogo Runtime (0.10.0)
4|Active | 1|Apache Felix Gogo Shell (0.10.0)
ID|State |Level|Name
0|Active | 0|System Bundle (4.0.1)
1|Active | 1|Apache Felix Bundle Repository (1.6.6)
2|Active | 1|Apache Felix Gogo Command (0.12.0)
3|Active | 1|Apache Felix Gogo Runtime (0.10.0)
4|Active | 1|Apache Felix Gogo Shell (0.10.0)
出现此界面说明OSGI框架已经启动,在这张表上显示的是OSGI框架下运行的所有插件和其状态。
- OSGI学习一(使用Apache Felix搭建OSGI开发环境)
- Apache Felix 的OSGi开发环境搭建
- Apache Felix 的OSGi开发环境搭建
- Apache Felix 的OSGi开发环境搭建
- 在Eclipse中开发OSGi(1)搭建Felix环境
- Felix+Struts2搭建OSGI Web开发框架(一)
- OSGI学习系列(一)搭建OSGI环境(Equinox)
- osgi 学习系列(一)搭建osgi platform环境
- [OSGI]OSGi开发环境搭建
- OSGI--apache felix 入门
- [OSGI] Felix基本环境搭建及操作
- OSGI企业应用开发(二)Eclipse中搭建Felix运行环境
- OSGI企业应用开发(二)Eclipse中搭建Felix运行环境
- Felix+Struts2搭建OSGI Web开发框架(二)
- Felix+Struts2搭建OSGI Web开发框架(三)
- Intellij Idea 15中开发Maven+osgi项目(Apache felix环境)
- OSGI系列一---环境搭建
- OSGi 和 Spring,第 1 部分: 使用 Apache Felix 构建和部署 OSGi 包
- Oracle 11g RAC management.
- Hadoop伪分布式配置试用+eclipse配置使用
- sicily 1926
- Alan Kay 你需要认识的一个天才
- 英语语法之情态动词
- OSGI学习一(使用Apache Felix搭建OSGI开发环境)
- 英语语法之虚拟语气
- maven2的Eclipse插件网址
- 常用表单操作
- 英语语法之一致平衡
- “IPC send timeout error” 导致RAC的节点挂起
- 【POJ】1005 I Think I Need a Houseboat
- 英语语法之强调句和倒装
- 同时连接防火墙的管理口和内网口需清空arp