在 OSGi 4 容器中创建基本 JAX-RS 环境的最简单方法是什么,而无需求助于 Apache CXF 等重量级解决方案。
尽管在我看来,使用 注册 Jersey 容器 servletHttpService
应该可以解决问题,但我还不能拼凑出一个集合,其中只有几个包可以做到这一点。
这就是我的bundle Activator的精髓所在,Resources
类实现了Application
接口来解析哪些类有JAX-RS注解:
public void start(BundleContext context) throws Exception {
// Find the HttpService
ServiceReference ref = context.getServiceReference(HttpService.class.getName());
HttpService service = (HttpService) context.getService(ref);
// Register a Jersey container
ServletContainer servlet = new ServletContainer(new Resources());
service.registerServlet("/services", servlet, null, null);
}