मैंने एक खुलासा (घोषणात्मक) सेवा के साथ एक ओएसजीआई बंडल बनाया है। यदि मैं सक्रिय करता हूं, तो ध्यान दें कि कुछ अस्वस्थ है जैसे कि मैं सेवा प्रदान नहीं कर सकता, मुझे इसे उजागर होने से रोकने की आवश्यकता है। फिलहाल सक्रियण समारोह तो दिखाई देता है:सेवा शुरू होने पर ओएसजीआई सेवा को अक्षम करने का सही तरीका क्या है?
public void activate(ComponentContext context, Map<String, Object> properties) {
try {
...
}
catch(Exception e) {
throw new ComponentException("Some reason");
}
}
मैं नहीं मिल सकता है:
public void activate(ComponentContext context, Map<String, Object> properties) {
pid = (String) properties.get(Constants.SERVICE_PID);
try {
...
}
catch(Exception e) {
context.disableComponent(pid);
}
}
एक अन्य विकल्प सिर्फ लपेट/इस तरह अपवाद प्रचार (या एक नया फेंक, निर्भर करता है) के लिए है OSGi Service Platform Service Compendium में घोषणात्मक सेवाओं पर अनुभाग में निर्दिष्ट सही व्यवहार, लेकिन मुझे कुछ