随笔 - 19, 文章 - 1, 评论 - 21, 引用 - 0
数据加载中……

OSGi

OSGi相关的学习和实践
Gemini Web第一个里程碑版发布

posted @ 2010-07-07 15:40 dbstar 阅读(2122) | 评论 (1)  编辑

打造一个基于OSGi的Web Application——使用Tomcat原生API动态管理Listener
     摘要: 本文介绍在Tomcat中,如何通过Tomcat原生API实现OSGi容器中动态管理Listener。  阅读全文

posted @ 2010-04-02 18:47 dbstar 阅读(3654) | 评论 (2)  编辑

打造一个基于OSGi的Web Application——使用Tomcat原生API来动态管理Web元素:原理
     摘要: Tomcat的org.apache.catalina.Context接口提供了动态管理注入到Catalina Web Container中的Web元素的API。在基于OSGi的Web Application中,可以利用这个接口来实现在OSGi容器中动态管理Web元素的目的。为了达到这个目的,我们还需要做一些额外的配置。请注意,以下方法仅适用于Tomcat,并非通用的实现,而且只针对5.5.28版和6.0.24版的Tomcat做过简单的测试。  阅读全文

posted @ 2010-04-01 12:02 dbstar 阅读(3095) | 评论 (0)  编辑

打造一个基于OSGi的Web Application——设置初始化bundle的StartLevel
     摘要: 在前几天的文章中描述了如何在Web Application中启动OSGi,参见
《打造一个基于OSGi的Web Application——在WebApplication中启动OSGi》
后来发现其中在初始化时加载bundle的方式,还有一些美中不足。这种方式加载的bundle都具有相同的启动顺序,即bundle的初始化默认 start level,在之前均没有做过特别的设置,所以默认值都是1,这样会导致所有的bundle的启动顺序无法控制,在某些希望特殊bundle优先加载的场合(如日志功能,需要最先加载),我们希望能够在bundle初始化的时候就能指定特别的start level,这样所有的bundle就能按照我们预设的启动顺序来加载了。下面就是我优化过的初始化代码,能够解决启动顺序问题。  阅读全文

posted @ 2010-03-29 15:26 dbstar 阅读(3686) | 评论 (0)  编辑

打造一个基于OSGi的Web Application——增加日志输出功能
     摘要: 到目前为止,我们的基于OSGi内核的Web Application还没有任何的日志输出功能,本章将介绍如何在这个Web应用中配置和输出日志。  阅读全文

posted @ 2010-03-27 00:28 dbstar 阅读(3325) | 评论 (3)  编辑

OSGi中获取Service的几种方式
     摘要: 在OSGi中,Service是动态管理的,OSGi容器提供的好几种获取和使用Service的方式,那么这几种方式各有什么优、缺点呢,下面我们就以 org.osgi.service.log.LogService为例来分别讲一讲。  阅读全文

posted @ 2010-03-26 18:09 dbstar 阅读(13272) | 评论 (0)  编辑

打造一个基于OSGi的Web Application——在OSGi容器中管理Web元素的实现思路
     摘要: 要在OSGi容器中动态的管理Web相关的元素,目前有两种方式。

一种是通过类似于bridge的方式,现在外层的Web Application中配置一个对应的元素,然后通过对这个元素将外部的访问桥接到OSGi容器内部。在OSGi容器内部,会有一个总控的 service,通过这个service来提供Web元素的动态管理,以及对外界请求的响应和分发。Equinox的Servlet Bridge就是采用的这种方式。

另一种方式就是通过使用Web Container提供的原生的API来实现Web元素的动态管理,将Web Container的部分功能作为Service注册到OSGi中,然后在OSGi中通过这个Service来动态的管理Web元素。
  阅读全文

posted @ 2010-03-25 17:34 dbstar 阅读(2213) | 评论 (0)  编辑

打造一个基于OSGi的Web Application——为OSGi容器提供Web Application环境
     摘要: 本章叙述如何在OSGi容器中提供必要的Web Application环境,其中包括Servlet 2.4、Jsp 2.0和Commons-Logging相关的package,使得其他在OSGi容器中的bundle可以import。  阅读全文

posted @ 2010-03-24 22:49 dbstar 阅读(4631) | 评论 (2)  编辑

打造一个基于OSGi的Web Application——在WebApplication中启动OSGi
     摘要: 本章将创建一个Web Application项目,并描述如何在此应用中启动OSGi。  阅读全文

posted @ 2010-03-23 18:28 dbstar 阅读(6035) | 评论 (5)  编辑

打造一个基于OSGi的Web Application——搭建开发环境
     摘要: 工欲善其事必先利其器,在正式开发之前,花一点时间来构建开发环境还是有必要的。本章介绍一下我的开发环境。  阅读全文

posted @ 2010-03-23 15:32 dbstar 阅读(2828) | 评论 (1)  编辑

打造一个基于OSGi的Web Application——动机和目标
     摘要: OSGi技术发展至今也有好几年了,然而除了在富客户端应用(以Eclipse为代表)和服务器应用(如大多数的应用服务器)方面大放光芒之外,在Web Application方面的应用和资料却少之又少。一方面,在OSGi规范中,对于Web应用方面的规划尚不成熟,即使在最新的4.2版中,也仅仅只有一个HttpService,这个简陋的service甚至不能覆盖任何一个现有的Servlet规范;另一方面,各个OSGi实现厂商对 HttpService的实现也是不完全的,在开发实现一个常规的Web Application时,这些实现也是完全不够用的。本文章的目的,也就是为了探索OSGi在Web Application上的开发之路该如何走,从我的视角提出一些看法,做一些尝试,希望对大家有所帮助。  阅读全文

posted @ 2010-03-23 14:37 dbstar 阅读(2362) | 评论 (1)  编辑