0

私は OSGI 環境でサーブレットを実行しています。具体的には、Pax Web / Jetty で Karaf を使用しています。

私は喜んで BundleActivator を使用してサーブレットをインスタンス化し、それらを HttpService に登録しました。私が気に入っているのは、ServiceTracker を接続することで、依存関係の挿入を非常に簡単に処理できることです。

ただし、いくつかのことについては、従来の web.xml 構成を介してそれらをセットアップする方法に関するドキュメントしか見つけることができません。具体的には、命令に相当するものtransport-guarantee、つまり、特定の URL で HTTPS を主張し、必要に応じてクライアントをリダイレクトする必要があることを HttpService に伝える方法がありません。

別の方法として、web.xml記述子ファイルを通常どおり使用できるが、サーブレットを OSGi サービスに接続するための便利で簡単な方法があれば、それで問題ありません。

4

1 に答える 1

0

今のところ、これは web.xml のみの機能だと思います。新しい機能リクエストを開きたい場合があります。サーブレットでの OSGi サービスのインジェクションについて。アプリケーションを Pax CDI と組み合わせると、CDI を使用して OSGi サービスを注入できます。

@WebServlet(urlPatterns = "/myServlet")
public class MyServlet extends HttpServlet {

    @Inject
    @OsgiService
    private AnotherService service;

...
于 2015-03-31T07:03:53.910 に答える