Osgi 带有RSA和DS的Apache CXF ContainerRequestFilter

Osgi 带有RSA和DS的Apache CXF ContainerRequestFilter,osgi,cxf,apache-karaf,declarative-services,Osgi,Cxf,Apache Karaf,Declarative Services,我正在将CXF REST端点从blueprint迁移到在ApacheKaraf上运行的声明性服务。我使用Aries RSA和DOSGI。在旧代码中使用了ContainerRequestFilter(在blueprint中指定),但我不确定它如何与DS一起使用?从[0]中,我可以看到javax.servlet.Filter可以注册,我想知道什么是正确的方法。是否可以使用DS注释注册ContainerRequestFilter [0]现在可以使用OSGi R7中的JAX-RS白板。只需将其设置为一个

我正在将CXF REST端点从blueprint迁移到在ApacheKaraf上运行的声明性服务。我使用Aries RSA和DOSGI。在旧代码中使用了ContainerRequestFilter(在blueprint中指定),但我不确定它如何与DS一起使用?从[0]中,我可以看到javax.servlet.Filter可以注册,我想知道什么是正确的方法。是否可以使用DS注释注册ContainerRequestFilter


[0]

现在可以使用OSGi R7中的JAX-RS白板。只需将其设置为一个OSGi服务,提供相关的服务接口即可—在本例中为
ContainerRequestFilter
,并添加服务属性“OSGi.jaxrs.extension=true”

通过使用声明性服务和bnd 4.0.0中的R7特性,可以使用新的ComponentPropertyType元注释将此服务属性应用于声明性服务组件。标准注释
@jaxrextension
是JAX-RS白板规范的一部分

例如:

@JaxrsResource
@Component
public class MyRequestFilter implements ContainerRequestFilter {

    // Implementation goes in here

}
OSGi途中项目提供了使用JAX-RS白板的其他示例