我有一个有两个实现的接口.我想将这两个实现公开为OSGi服务,但是当我这样做时,一个覆盖另一个.请找到我正在做的配置:
<bean id="formService" class="com.dbt.form.service.FormService"/>
<bean id="formAPIService" class="com.dbt.form.service.FormAPIService"/>
<osgi:service
ref="formAPIService"
interface="com.dbt.form.service.ifc.IFormService"/>
<osgi:service
ref="formService"
interface="com.dbt.form.service.ifc.IFormService" />
Run Code Online (Sandbox Code Playgroud)
这formService是通过formAPIService实现覆盖的.
请帮我解决这个问题.
第二个服务不会覆盖第一个服务......这两个服务都将单独发布,您可以通过inpect cap service在OSGi Gogo shell中键入命令来确认.
可能发生的情况是您的消费者代码只会选择一个可用的服务实例.在这种情况下,您需要编写您的使用者以绑定到所有实例,或使用排名组合或目标筛选器来确定您想要的特定服务.您应该提供有关如何使用这些服务的更多信息,因为这是问题所在(可能).
| 归档时间: |
|
| 查看次数: |
3770 次 |
| 最近记录: |