Я использую maven-scr-plugin для создания описаний компонентов и метатипов. Я перехожу с аннотаций org.apache.felix.scr на аннотации org.osgi.service.component.
Карстен Зигелер написал отличный блог о том, как выполнить эту миграцию здесь. Однако это не объясняет, как получить описания метатипов непосредственно из аннотаций компонентов. Вместо этого мне пришлось бы сделать отдельную конфигурацию @interface для каждого компонента и переписать все активаторы компонентов (по крайней мере, чтобы использовать добавленную стоимость этих дополнительных классов @interface).
Я все еще могу использовать maven-scr-plugin для обработки аннотаций osgi, добавив зависимость от org.apache.felix.scr.ds-annotations
. Однако maven-scr-plugin выводит информацию о метатипе только в том случае, если это явно включено. В аннотациях felix для включения генерации метатипа доступен специальный параметр metatype=true
в аннотации @Component
. Однако такой параметр недоступен в версии OSGi аннотации @Component
.
Есть ли способ заставить maven-scr-plugin генерировать описания метатипа, или я могу заставить maven-bundle-plugin (или bndtools) генерировать данные метатипа на основе аннотации osgi @Component вместо того, чтобы определять выделенный класс конфигурации для каждого компонента?