列出jax-rs服务bean

时间:2014-09-17 10:38:35

标签: java spring web-services cxf jax-rs

我有一个用spring配置的jax-rs servlet。在我的beans.xml中,我有一个jax-rs bean列表:

<jaxrs:server id="salesRest" address="/">
    <jaxrs:serviceBeans>
        <bean id="usersWS" class="co.my.package.UsersImpl" />
        <bean id="authenticationWS" class="co.my.package.AuthenticationImpl" />
    </jaxrs:serviceBeans>
    ...
<jaxrs:server>

我想要的是能够以编程方式获取这些bean的列表,例如来自应用程序上下文。这可能吗?

1 个答案:

答案 0 :(得分:1)

在查看jax-rs jar之后,我在JaxRsInInterceptor.class中发现了一些代码,它指出了我正确的方向:基本上你可以从应用程序上下文中获取JaxRsServerFactoryBean(或者注入它),然后:

    List<ClassResourceInfo> cris = jaxrsServerFactoryBean.getServiceFactory().getClassResourceInfo();

为您提供所有服务bean的列表。