2016-06-20 2 views
0

Вы можете отфильтровать доступные реализации через "целевой" атрибут @Reference, как показано ниже:Maven SCR Plugin Атрибут Использование

@Reference (цель = "(k1 = v1)") ISomeServiceContract svc1;

Мой вопрос касается значения фильтра. В документации очень мало говорится об этом, и я смущен.

http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html#reference состояния следующий атрибут «целевого»:

«Мишень фильтр службы, чтобы выбрать конкретные услуги, которые будут доступны».

Значения фильтра в плагине SCR имеют определенный синтаксис (то есть, почему мне даже нужно, чтобы круглые скобки окружающего ключа равны значению спецификации)? Позволяет ли вам указывать такие вещи, как «(k1 = v1 & & k2 = v2)» или «(k1 = v1 || k2 = v2 & & (...))».

ответ

1

Синтаксис объясняется в главе «3.2.7 Синтаксис фильтра» спецификации OSGi Core. Фильтры, которые вы определяете в аннотации SCR, являются фильтрами OSGi. Некоторые примеры:

(k1=v1) 
(&(k2=v1)(k2=v2)) 
(&(|(k1=v1)(k2=v2))(k3=v3)) 

Синтаксис, указанный OSGi, такой же, как для фильтров поиска LDAP.

+0

Я вижу. Мне нужно использовать префиксную нотацию. Большое спасибо. – salihk

Смежные вопросы