我正在使用Apache Felix及其聲明性服務(SCR)來連接捆綁之間的服務依賴關係。OSGi/Felix聲明式服務:如何過濾要綁定的服務?
例如,如果我需要訪問java.util.Dictionary中,我可以說下面有SCR提供一個:
/**
* @scr.reference name=properties interface=java.util.Dictionary
*/
protected void bindProperties(Dictionary d) {
}
protected void unbindProperties(Dictionary d) {
}
現在,我有一個以上的字典服務,我想使用「name」服務屬性來過濾它們(我只想要「name = myDictionary」)。我可以用代碼(使用ServiceTracker)來做到這一點,但我寧願在@scr註釋中指定過濾器。
我認爲target =「(name = myDictionary)」應該在@ scr.reference註釋中實現。請參閱http://felix.apache.org/site/apache-felix-maven-scr-plugin.html – 2008-12-11 00:06:45