我有一个用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的列表,例如来自应用程序上下文。这可能吗?
答案 0 :(得分:1)
在查看jax-rs jar之后,我在JaxRsInInterceptor.class中发现了一些代码,它指出了我正确的方向:基本上你可以从应用程序上下文中获取JaxRsServerFactoryBean(或者注入它),然后:
List<ClassResourceInfo> cris = jaxrsServerFactoryBean.getServiceFactory().getClassResourceInfo();
为您提供所有服务bean的列表。