采购风险控制:spring+osgi 动态模型三:服务注册表(The Service Registry)续
来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 09:18:03
2、定义OSGi服务的引用
interface属性定义了服务必须匹配的服务接口。例如下面的声明创建了一个编号为messageService的Bean,它被从服务注册表中查询到的一个提供MessageService接口的服务支持。
和service声明一样,如果要指定多个接口,使用嵌套的interfaces元素来替换interface属性。
com.xyz.MessageService
com.xyz.MarkerInterface
例如:
filter="(asynchronous-delivery=true)"/>
上面的声明会仅仅匹配声明了Messageservice接口而且具有一个asynchronous-delivery属性为true的服务。
bean-name="defaultMessageService"/>
上面的声明会仅匹配一个实现MessageService接口且具有org.springframework.osgi.bean.neam属性值为defaultMessageService 的OSGi服务。简言之这意味着所有查找所有Spring-DM所输出的实现了MessageService接口且名为defaultMessageService 的bean。
注意
如果服务由同一个bundle输出,那么声明到该服务的强制引用是错误的,这种行为会造成应用程序上下文由于死锁或超时而创建失败。
client:默认值,在服务调用时会确保在调用者 bundle 的 classpath 上的类
型都会对 context class loader 可见。
service-provider:在服务调用时,会确保输出服务的 bundle 的 classpath
上的所有类型都会对 context class loader 可见。
unmanaged:在服务调用时不会进行 context class loader 管理
private ServiceReference serviceReference;
private SomeService service;//get and set method...
}
--1
--2
--1自动将受管理的服务转换成ServiceReference
--2受管服务被原样注入
由bean定义的集合的成员会由spring动态管理,注册表里的匹配用力注册或注销时,集合里的成员会随之更新。集合里的所有成员 都支持相应的注册服务接口,并且 对于bundle都是可见的。
- 引用单独的服务
interface属性定义了服务必须匹配的服务接口。例如下面的声明创建了一个编号为messageService的Bean,它被从服务注册表中查询到的一个提供MessageService接口的服务支持。
和service声明一样,如果要指定多个接口,使用嵌套的interfaces元素来替换interface属性。
- 关于filter属性
例如:
上面的声明会仅仅匹配声明了Messageservice接口而且具有一个asynchronous-delivery属性为true的服务。
- 关于bean-name属性
上面的声明会仅匹配一个实现MessageService接口且具有org.springframework.osgi.bean.neam属性值为defaultMessageService 的OSGi服务。简言之这意味着所有查找所有Spring-DM所输出的实现了MessageService接口且名为defaultMessageService 的bean。
- 关于cardinality属性
注意
如果服务由同一个bundle输出,那么声明到该服务的强制引用是错误的,这种行为会造成应用程序上下文由于死锁或超时而创建失败。
- 关于depends-on属性
- 关于context-class-loader属性
client:默认值,在服务调用时会确保在调用者 bundle 的 classpath 上的类
型都会对 context class loader 可见。
service-provider:在服务调用时,会确保输出服务的 bundle 的 classpath
上的所有类型都会对 context class loader 可见。
unmanaged:在服务调用时不会进行 context class loader 管理
- 获取一个受控服务的引用
private ServiceReference serviceReference;
private SomeService service;//get and set method...
}
--1自动将受管理的服务转换成ServiceReference
--2受管服务被原样注入
- 引用一个服务集
由bean定义的集合的成员会由spring动态管理,注册表里的匹配用力注册或注销时,集合里的成员会随之更新。集合里的所有成员 都支持相应的注册服务接口,并且 对于bundle都是可见的。
spring+osgi 动态模型三:服务注册表(The Service Registry)续
spring+osgi 动态模型四 :使用Bundle
Promote the service concept
The Spring Festival
started the wireless zero configuration service
Social network service - Wikipedia, the free ...
基于OSGI的面向服务插件框架研究与应用
Code of guest service服务规范
Android Service学习之本地服务
注册表实用手册(之三)
The Coming of Spring 春来了
Spring的任务调度服务实例讲解
什么是动态股权激励模型?
TuGus--途加网--法国户外互动广告,the escape service
Royal wedding: The full Order of Service - mi...
纳税服务动态
纳税服务动态
Should or not the Arab Spring spread to India...
Declarative Caching Services for Spring声明式缓存服务
Spring IOC三种注入方式比较
注册表
indesignCS3“正在启动服务注册表”时的问题
indesignCS3“正在启动服务注册表”时的问题_
Universal Service Fund Reform: Expanding Broadband Internet Access in the United States