Açık (bildirim) bir hizmetle birlikte bir OSGi paketi oluşturdum. Eğer aktive edildiğinde, bir şeylerin hizmetin sağlanamayacağı şekilde yanlış olduğunu fark ettiğimde, maruz kalmasını engellemem gerekiyor. Şu anda aktivasyon fonksiyonu şöyle görünür:Servis başlangıcında bir OSGi hizmetini devre dışı bırakmanın doğru yolu nedir?
public void activate(ComponentContext context, Map<String, Object> properties) {
try {
...
}
catch(Exception e) {
throw new ComponentException("Some reason");
}
}
bulamıyorum:
public void activate(ComponentContext context, Map<String, Object> properties) {
pid = (String) properties.get(Constants.SERVICE_PID);
try {
...
}
catch(Exception e) {
context.disableComponent(pid);
}
}
diğer alternatif sadece bu gibi istisna yaymak (veya yenisini atmak, bağlı olarak)/sarılmasıdır OSGi Service Platform Service Compendium bildiren hizmetler bölümünde belirtilen doğru davranış, ancak bir şey eksik olabilir