首页 > 解决方案 > 如何以编程方式配置 JAX-RS 端点?

问题描述

我试图在我的项目中摆脱 XML。我已经尝试添加这个:

JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(CustomerService.class);
sf.setAddress("http://localhost:9000/");
sf.create();

到我的 Activator 类,但我的包不会以此开头。

那么,人们通常如何配置端点?

标签: apachejax-rsosgicxfosgi-bundle

解决方案


(抱歉,没有代码,只是我的经验/项目中的一些高级见解)

我使用 jersey 并将其集成到 OSGi 环境中。即org.glassfish.jersey.servlet.ServletContainer,我向其注册所有 jax-rs 资源。这样,我可以使用任何可用的 HTTP 服务器实现(例如,jetty)并通过 OSGi 系统环境属性对其进行配置。

为简单起见,我将带注释的 OSGi(声明性)服务作为单例资源/端点重新注册到该 ServletContainer 中。

或许,CXF 也有类似的做法。


推荐阅读