OSGi DS: почему исключения, генерируемые методами привязки, регистрируются только в журнале? - PullRequest
0 голосов
/ 27 апреля 2011

Почему в спецификации регистрируется только исключение, вызванное методом привязки?

Я ожидаю, что компонент не активируется в этом случае.

Как обрабатывать исключения, возникающие из методов привязки, для обеспечения правильной настройки компонента?

1 Ответ

2 голосов
/ 27 апреля 2011

То, что привязка ссылки на службу вызывает исключение, не обязательно означает, что компонент не может быть активирован. Поскольку компонент знает об исключении (в конце концов, это метод привязки, который его выдал), он может быть реализован таким образом, что он все еще может быть активирован, например, отступая к значению по умолчанию или предоставляя ограниченные услуги.

Методы привязки в любом случае не должны вызывать никаких исключений, в отличие от методов активации, которые могут вызвать сбой активации.

Справка:

OSGi 112.5.7: «Если метод привязки выдает исключение, SCR должен зарегистрировать сообщение об ошибке, содержащее исключение, с помощью службы журналов, если она есть, но активация конфигурации компонента не завершится неудачей.»

...