Spring DM中的服务提供商和消费者
我有一个包,可以提供和消费服务。我的应用程序上下文是:Spring DM中的服务提供商和消费者,spring,osgi,equinox,Spring,Osgi,Equinox,我有一个包,可以提供和消费服务。我的应用程序上下文是: <bean id="dbConsumer" class="service.User"> <property name="db" ref="DBservice"></property> </bean> <osgi:reference id="DBservice"> <osgi:interfaces> <value>com.d
<bean id="dbConsumer" class="service.User">
<property name="db" ref="DBservice"></property>
</bean>
<osgi:reference id="DBservice">
<osgi:interfaces>
<value>com.db.manager.DatabaseManager</value>
</osgi:interfaces>
</osgi:reference>
<bean name="ServicioZB" id="zbservice" class="service.ZBService"/>
<osgi:service ref="zbservice">
<osgi:interfaces>
<value>service.IZBService</value>
</osgi:interfaces>
</osgi:service>
com.db.manager.DatabaseManager
service.IZBService
问题是何时部署。我在Equinox工作,如果我观看服务,我可以看到捆绑使用DBservice。但是,该服务没有公开。但是如果我删除引用标记,我的服务就会暴露。也就是说,我有3个包(A,B,C)。B导出a使用的服务。同样,C导出B使用的服务。那么,我的问题是:标签不能放在一起吗?我如何开发一个捆绑包来消费和提供服务
提前谢谢
问候 如果仅使用发布一个接口,请尝试使用interface属性而不是interfaces标记。因此,替换
<osgi:service ref="zbservice">
<osgi:interfaces>
<value>service.IZBService</value>
</osgi:interfaces>
</osgi:service>
service.IZBService
与
有一次我也遇到过类似的问题,这种方法确实对我有效
<osgi:service ref="zbservice" interface="service.IZBService"/>