0
我有兩個捆綁包A和B,捆綁包A有一個服務激活器,其中包含一個稱爲receive的方法來接收電子郵件,而捆綁包B使用來自捆綁包A的電子郵件,所以我想如何將服務激活器公開爲在OSGi的服務。OSGi和Spring集成
我有兩個捆綁包A和B,捆綁包A有一個服務激活器,其中包含一個稱爲receive的方法來接收電子郵件,而捆綁包B使用來自捆綁包A的電子郵件,所以我想如何將服務激活器公開爲在OSGi的服務。OSGi和Spring集成
根據您的需求創建一個接口。我會爲您提供一個例子之一:
public interface Receiver {
void receive(String smth);
}
創建一個實現類:
public class ReceiverImpl implements Receiver {
@Override
public void receive(String smth) {
}
}
然後使用Spring這樣暴露接收機作爲OSGi服務:
<bean id="receiver" class="com.yourpackage.ReceiverImpl"/>
<osgi:service ref="receiver" interface="com.yourpackage.Receiver"/>
要使此工作確保您的Receiver捆綁包將清單條目中的包導出,並且您的Consumer捆綁包導入該包。
要調用接收器在其他捆綁使用:
<osgi:reference id="receiver" interface="com.yourpackage.Receiver"/>
您可以將接收器的屬性,然後設置,將使用它的捆綁任何的Spring bean。
我認爲你應該發佈一些代碼並添加更多的細節到你的問題。 – Mirco