Условная привязка декларативной службы Osgi

У меня есть этот сценарий, у меня есть три декларативных сервиса, которые предоставляют одинаковый интерфейс (скажем, интерфейс для чтения, и у меня есть readerimpl1-database-readerimpl2-flat file-readerimpl3-memory). Я хочу иметь потребителя, который привязывается только к реализации базы данных. В определении компонента мы даем ему имя, поэтому я почти уверен, что это имя есть в реестре, поэтому, если бы мне пришлось добавить метод активации, я мог бы искать из контекста компонента, используя имя.

Я хочу попробовать сделать это через привязку / отвязку, используя имя службы в качестве параметра. Я почти уверен, что для этого можно использовать параметр "target" в элементе ссылки на компонент, но я не нашел, как его использовать.

Кто-нибудь еще делал это?

Это было бы похоже на использование @Reference (mapped-name = "foo")

8
задан el_eduardo 27 July 2011 в 19:57
поделиться