У меня есть компонент OSGi:
@Component(immediate=true)
public class SomeComponent implements SomeInterface {...}
Обратите внимание, что компонент является немедленным. Кроме того, поскольку класс компонента реализует интерфейс, я понимаю, что служба будет зарегистрирована автоматически при (как часть) активации компонента.
Теперь я хотел бы иметь возможность динамически прерывать активацию компонента и регистрацию службы, если выполняются определенные условия. Создание «ComponentException» в активаторе компонента, похоже, не работает:
@Activate
public void activate() {
if (notReady)
throw new ComponentException("Component not ready");
}
Какие-либо предложения? Спасибо!