我想使用sling taglib在我的jsp中實例化服務對象。在正常情況下,其中服務類是由只有1級,它很簡單實現: -使用SlingScriptHelper過濾OSGi服務#getService()方法
RegistrationService registrationService = sling.getService(RegistrationService.class);
但如果服務類已超過1個實現類,那麼如何才能確保實例化對象的特別的類。
我的Java類是這樣的: -
1.接口:RegistrationService
2.執行第1類: -
@Properties({@Property(name = "datasource", value = "SBWS"})
@Service
public class RegistrationServiceImpl implements RegistrationService{
}
3.執行2級: -
@Properties({@Property(name = "datasource", value = "SOLR"})
@Service
public class RegistrationServiceImpl implements RegistrationService{
}
我如何確保使用
RegistrationService registrationService = sling.getService(RegistrationService.class);
在JSP將實例化服務爲讓
說實現類1
不知道是否有一個乾淨的方式,但如何有兩個不同的接口,只是擴展RegistrationService接口?您仍然可以在@Services註釋中定義多個接口,但在jsp中,您可以通過特定接口選擇您需要的接口。 – Thomas 2014-10-08 10:49:20