को HK2 @Service javadocसेवा लोकेटर को @Service और @ HK2 में स्वचालित रूप से संपर्क कैसे मिलता है?
एनोटेशन कक्षाएं कि स्वचालित रूप से एक hk2 ServiceLocator को जोड़ा गया हो रहे हैं पर रखा अनुसार।
मुझे नहीं पता कि ServiceLocator
स्वचालित रूप से एनोटेटेड कक्षाएं कैसे ढूंढें।
TestService
@Contract
public interface TestService {
}
TestServiceImpl
@Service
public class TestServiceImpl implements TestService {
}
मुख्य
public static void main(String[] args) {
ServiceLocator locator = ServiceLocatorUtilities.createAndPopulateServiceLocator();
TestService service = locator.getService(TestServiceImpl.class);
System.out.println(service); // null
}
परिणाम alway है एस null
। मुझे Descriptor
जोड़ना है ताकि ServiceLocator
इसे मिल सके।
public static void main(String[] args) {
ServiceLocator locator = ServiceLocatorUtilities.createAndPopulateServiceLocator();
DynamicConfigurationService dcs = locator.getService(DynamicConfigurationService.class);
DynamicConfiguration config = dcs.createDynamicConfiguration();
config.bind(BuilderHelper.link(TestServiceImpl.class).to(TestService.class).in(Singleton.class).build());
config.commit();
TestService service = locator.getService(TestServiceImpl.class);
System.out.println(service); // TestServiceImpl instance
}
मैं ServiceLocator
स्वचालित रूप से एनोटेटेड कक्षाओं को कैसे ढूंढूं? क्या मैंने कुछ गलत समझा?
इसके अपडेट के रूप में अब एचके 2 मेटाडेटा जेनरेटर का उपयोग करना आसान है। आपको बस इतना करना है कि इसे अपने क्लासपाथ में रखा जाए। यहां अधिक जानकारी: https://hk2.java.net/2.4.0-b16/inhabitant-generator.html – jwells131313
विशेष रूप से इस उत्तर से संबंधित नहीं है, लेकिन मैं कुछ दिनों से HK2 के बारे में कुछ शोध कर रहा हूं और हर बार मुझे लगता है वास्तविक जानकारी/सहायता के लिंक हमेशा इस प्रारंभ पृष्ठ पर उतरते हैं https://javaee.github.io/hk2/ जो कि उपयोगी नहीं है :( – A4L