osgi r6 service.component.annotations список свойств

Возможно я просто глуп, но как мне установить список в значении свойства? Например, с аннотациями felix scr сервлет выглядел примерно так

@Component(metatype = false)
@SlingServlet(
 methods = { "GET", "POST" },
 resourceTypes = "sling/servlet/default",
 selectors = { "size" },
 paths = { "/some/stupid/path/.*" }

с новыми аннотациями службы osgi

@Component(service = Servlet.class,
    property = { 
     "sling.servlet.methods=GET",
     "sling.servlet.methods=POST",
     "sling.servlet.resourceTypes=sling/servlet/default",
     "sling.servlet.selectors=size",
     "sling.servlet.paths=/some/stupid/path.*" })

Как я могу установить servlet.methods в виде списка? По общему признанию в этом примере это не большая проблема, но у меня есть сервлет, который активируется на многих селекторах, и я действительно не хочу иметь 20 строк "sling.servlet.selectors=..."

1 ответ

Из Javadoc: To specify a property with multiple values, use multiple name, value pairs. For example, "foo=bar", "foo=baz". Так что у вас должно работать в этом значение sling.servlet.methods будет массив [GET,POST]

Поддержка будущей спецификации DS 1.4 должна упростить эту задачу, позволяя аннотациям устанавливать значения свойств. См. 5.10 в RFC 222.

Другие вопросы по тегам