2011-06-10 61 views
0

我有一個捆綁應該提供和消費服務。我的應用上下文是:服務提供商和消費者在春天DM

<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> 

問題是當我部署。我在Equinox上工作,如果我看服務,我可以看到捆綁包使用DBservice。然而,這項服務暴露無遺。但是如果我刪除引用標籤,我的服務就會暴露。就是說,我有3捆(A,B,C)。 B導出A消耗的服務。另外,C導出B使用的服務然後,我的問題是:標籤不能在一起嗎?我怎樣才能開發一個捆綁銷售和提供服務?

在此先感謝!

問候!

回答

0

如果您僅使用發佈一個接口,請嘗試使用interface屬性而不是interfaces-tag。所以更換

<osgi:service ref="zbservice"> 
    <osgi:interfaces> 
     <value>service.IZBService</value> 
    </osgi:interfaces> 
</osgi:service> 

<osgi:service ref="zbservice" interface="service.IZBService"/> 

我有一個類似的問題一次,這種方法確實爲我工作。

+0

我試過了,但沒有運行。這是同樣的問題 – 2011-06-12 08:42:16