OSGi プラットフォームで HTTP サーバーを実行する方法を知りたいです。私は現在 Equinox を使用しており、Jetty バンドルの埋め込みに関する公式情報を見つけましたが、依存関係へのリンクが壊れているようで、全体的に十分に文書化されていません。( http://www.eclipse.org/equinox/server/http_in_equinox.php )
ありがとうございました。
OSGi プラットフォームで HTTP サーバーを実行する方法を知りたいです。私は現在 Equinox を使用しており、Jetty バンドルの埋め込みに関する公式情報を見つけましたが、依存関係へのリンクが壊れているようで、全体的に十分に文書化されていません。( http://www.eclipse.org/equinox/server/http_in_equinox.php )
ありがとうございました。
Apache Felix Http サービスhttp://felix.apache.org/documentation/subprojects/apache-felix-http-service.htmlをご覧ください。これらは適切に設計された OSGi バンドルであるため、Equinox でも実行されます。
私は彼らのホワイトボード モデルを使用しています。このバンドルでは、サーブレットをサービス プロパティに登録するだけです。これをすべて確認したい場合は、bndtools をダウンロードして、webconsole と DS でランタイムを作成することをお勧めします。Hello World サーブレット用に記述する必要があるのはこれだけです。
package com.example;
@Component(alias="/hello", provide=Servlet.class)
public MyServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse rsp) {
rsp.setContentType("text/plain;charset=UTF-8");
rsp.getOutputStream().write("Hello World".getBytes("UTF-8"));
}
}
必要なのは、組み込み OSGI フレームワークに対応するバンドルをインストールすることだけです。コード サンプルがあります: https://bitbucket.org/vbashur/diff/ osgimainおよびosgiserviceプロジェクトを見てください。
Virgoを使用できます。これは分点に基づいており、Tomcat を統合しています。
Jetty サーバーに関しては、OSGi に確実に組み込むことができます。Apache CXF プロジェクトはJetty を使用して SOAP 要求を処理し、CXF は OSGi で問題なく実行されます。
たくさんの機能を提供する Pax-Web もあります。http://team.ops4j.org/wiki/display/paxweb/Pax+Webを見てください。stdに対応しています。Http- サービス、サーブレット用のホワイトボード exrender、フィルター、jsps。また、戦争(stdまたはosgiマニフェストを使用)。