2

Apache CXF のような重いソリューションに頼らずに、OSGi 4 コンテナーに基本的な JAX-RS 環境を作成するための最も簡単なレシピは何ですか。

私には、Jersey コンテナ サーブレットを に登録HttpServiceすればうまくいくように思えますが、それを行うバンドルをいくつかまとめてまとめることができませんでした。

これが私の bundle Activator の本質です。クラスは、JAX-RS アノテーションを持つクラスを解決するためResourcesのインターフェースを実装します。Application

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);
}
4

4 に答える 4

1

これでうまくいくはずです: https://github.com/hstaudacher/osgi-jax-rs-connector

このプロジェクトのパブリッシャーを使用すると、OSGi サービスを OSGi サービスとして登録するだけで、OSGi サービスを RESTful Web サービスとして登録できます ;)

于 2013-07-05T07:32:21.160 に答える