列出jax-rs服务bean



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

<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的列表,例如从应用程序上下文。这可能吗?

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

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

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

最新更新