OSGI context提供service register方法负责osgi服务的注册发布,服务发布时,可带上服务属性,这些服务属性可用于服务引用方查找服务时的filter。
一般来说,没有依赖的简单服务,可以直接在bundle的activator start方法里注册发布,但通常情况下,服务都会存在或多或少的依赖,由于osgi平台的动态性,被依赖的服务并不能确定在依赖它的服务所在的bundle启动前变为可用,所以,一般会借助service tracker来监听服务注册的事件,当被依赖的服务可用时,service tracker就能感知到,进而引用它,然后发布自己的服务,这样服务之间的依赖关系就不会受限于bundle的启动次序,而bundle的启动次序并不是确定。
除了采用java代码方式注册服务之外,Declarative Service、Blueprint都提供更简便的方式实现服务的注册和引用,并管理服务间的依赖关系。
但无论是Declarative Service还是Blueprint,其本质还是用osgi的service register、servicetracker之类来注册服务,只是这些工作有Declarative Service或Blueprint容器负责 ,你需要做的事就是写好相应的XML文档。
至于Declarative Service或Blueprint容器如何实现osgi服务的发布与引用,则是后话。
分享到:
相关推荐
总结了osgi服务发布和获取的多种方式。
OSGI服务 DS EVENT OSGI服务 DS EVENT OSGI服务 DS EVENT OSGI服务 DS EVENT
osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍
该资源里面包含了osgi服务的注册、引用、服务工厂、以及服务跟踪,都是非常简单的例子,但是却非常有代表性,特别适合对osgi框架有基础了解的开发人群
NULL 博文链接:https://tangzhifei.iteye.com/blog/1112139
NULL 博文链接:https://springsfeng.iteye.com/blog/1152012
osgi核心规范文档,osgi服务文档,osgi-最佳原理与实践(王昊编著,共79页)
资源名称:OSGI原理与最佳实践内容简介:国内第一本OSGi图书OSGi国内推广者林昊多年经验的结晶涵盖OSGi从入门到深入的知识体系引领OSGi国内研究和普及本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入...
tomcat 集成 osgi服务,源码,文档,配置文件,给初学osgi的朋友.
本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入的知识体系,从OSGi的简介开题,介绍OSGi的作用及基本概念;其后进入OSGi实战,结合实例讲解如何基于OSGi框架编写模块化、动态化的各种Java应用;最后...
网上收集的OSGI资料. 包括: OSGi原理与最佳实践(精选版).pdf OSGI实战和源码.rar osgi进阶.pdf Introduce.OSGi.ppt OSGi.in.action.ppt r4.cmpn.pdf r4.core.pdf r4.enterprise.pdf
第三部分由原型构建转向实际的产品开发,主要介绍了OSGi和Equinox中用来构建成熟的OSGi应用必不可少的API——服务器端、声明式服务和发布工程,以及如何用它们来解决实践中的一些问题;第四部分呈现了动态性的最佳...
里面包含了加法和乘法的bundle 如果你start了加法服务就执行加法运算,反之执行乘法运算。
OSGI 在 J2EE 环境下的应用越来越广泛,目前在 Servlet 应用中使用 OSGI 有两种方式:Servlet Container in OSGI 和 OSGI in Servlet Container. 前一种:和普通的 OSGI bundle 开发差不多,而后一种:Equinox 提供...
OSGI原理与最佳实践的完整版,共12章 第1 章OSGi 简介 第2 章OSGi 框架简介 第3 章基于Spring-DM 实现Petstore 第4 章基于Apache CXF 实现分布式Petstore 第5 章构建OSGI Bundle Repositor'y 第6 章OSGi 规范解读 ...
《Eclipse RCP与Spring OSGi:技术详解与最佳实践》由资源的Eclipse专家亲自执笔,并得到了Eclipse官方技术社区的强烈推荐,权威性毋庸置疑!内容全面,系统讲解了利用Eclipse RCP和Spring OSGi开发大规模Java应用的...
扩展Tomcat支持OSGi应用服务项目文件。其项目为eclipse工程。项目说明请参见我的blog《扩展Tomcat支持OSGi应用服务》:http://blog.163.com/haizai219@126/blog/static/44412555200971223629869/
以 OSGi 包的形式开发和部署 Web 服务
OSGi原理与最佳实践完整版,OSGI简介 OSGI框架简介 基于Spring-DM实现Petstore