6

osgi-equinox を既存の Java Apache Tomcat プロジェクトに導入することは可能ですか? 私の理解では、OSGI は何らかの「コンテナ」内で実行する必要があります。どのように統合しますか?

RESTful リソースにもJerseyを使用しています。

4

1 に答える 1

11

この質問を見たいと思うかもしれません: OSGI runtime inside traditional Java EE server .

このブリッジ モデルでは、特別なサーブレットがインストールされ、Tomcat がこのサーブレットを呼び出して要求を処理します。OSGi ランタイムはこのサーブレット内から生成されますが、OSGi ランタイム自体 (equinox など) は HTTP などに依存しません。OSGi HTTP サービス バンドルもインストールされます。着信要求を処理するには、この OSGi HTTP サービスに対して Web アプリ (サーブレット、jsp、...) を登録する必要があります。したがって、独自のポートでリッスンし、Tomcat の外部で独自に HTTP を管理する、個別の「Web サーバー」があるとは言えません。走行距離はさまざまですが、オーバーヘッドは基本的に、Tomcat コネクタからサーブレットにリクエストを転送するときに OSGi HTTP サービスが追加する可能性のあるものに制限されます。

このブリッジ モデルは、既存の展開モデルを変更できない場合に必要です。長期的には、最初に OSGi ランタイムを用意し、Tomcat (またはその他の OSGi 準拠のコンテナー) をバンドルとして OSGi ランタイムにプラグインすることをお勧めします。

于 2010-10-12T15:58:33.673 に答える