2011-01-12 9 views
4

プロ!基本的な質問のように見えますが、私が探しているものを見つけることができません。OSGiコンテナ内のweb.xml

私はEquinoxを持っており、Springを(Servletでブートストラップして)実行したいと考えています。 私はdm-serverを使用できません。また、http-bridgeを使用することもできません。単なるスタンドアロンのEquinoxです。 一方、plugin.xml httpレジストリサーブレットの拡張を使用すると、Springをブートストラップするために完全に壊れたweb.xmlが必要なので、十分ではありません。

どこで掘るべきですか?

ありがとうございます! Baruch。

答えて

6

"従来の"(従来の)web.xmlファイルをWebアプリケーションデプロイメント用にサポートするには、OSGi R4.2 Enterprise仕様の一部であるOSGi Web Applications仕様の実装が必要です。これにより、 "Web Application Bundles"(WAB)を配備したり、古いWARファイルを配備することができます。

Eclipse GeminiプロジェクトとApache Ariesプロジェクトの両方にこのコンテナの実装があります。 Eclipse GeminiにあるものはEclipse Virgo(dm Serverの新しい名前)にもあります。 Virgoを使用すると、コンポーネントを自分で組み立てる必要がなく、よりクリーンなアウトオブボックス体験が得られます。あなたが本当に欲しいものよりもずっと多くを提供しているかどうか、私は再び完全に理解しています!

これに代わる方法は、web.xmlから離れ、OSGi HttpServiceを使用してプログラムでサーブレットを登録することです。これははるかに軽量でなければなりませんが、私はそれが "春をブートストラップする"ためにうまくいくかどうかはわかりません。

+0

ニール、答えてくれてありがとう! 「ブートストラッピング・スプリング」とは、リスナーとコンテキスト・パラムをここで説明するように使用していることを意味します。http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#context- create HttpServiceはリスナーとコンテキストパラメータをサポートしていますか? – JBaruch

0

また、WARファイルとしてバンドルをロードできるようにするtomcat OSGiバンドルを使用することもできます。問題は、Webバンドルの名前が ".war"で終わらなければならず、その接尾辞の前にあるすべてがアプリケーション名であることです。あなたのバンドルの名前がmyapp.warの場合、http://your.server.cc/myappと接続してください(そして、それを変更する方法がない限り)

関連する問題