14

Tomcat インスタンス内にKarafのような OSGi コンテナを埋め込むことができるかどうか疑問に思っていました。this SO questionおよび他のいくつかの質問によると、それは可能のようですが、これを行う方法や注意すべき落とし穴/警告に関する確かな詳細を見つけることができないようです.

そう:

  1. OSGi コンテナーを Tomcat 内に埋め込んで、Tomcat を再起動せずにいつでも OSGi バンドルをこのコンテナーにホットデプロイできるようにすることはできますか?
  2. 上記の #1 に対する答えが「はい」の場合、Tomcat 内に OSGi を埋め込むと、どのシステム サービス/ポートが公開されますか? 管理者権限を持たない Java PaaS でホストされている Tomcat サーバーに OSGi をデプロイしたいので、質問します。そして、組み込みの OSGi コンテナーを Tomcat にデプロイしようとすると、ポートでのリッスンを開始しようとするか、ローカル ファイル システムに対して何かを開始しようとするかどうか疑問に思っています。この場合、セキュリティ/許可エラーが表示される可能性があります。

前もって感謝します!

4

2 に答える 2

5

OSGi コンテナーを Tomcat 内に埋め込むことは可能ですか?

はい。実際、Karaf をダウンロードして調べると、まさにそれを行うデモ プロジェクト<KARAF_HOME>/demos/webが見つかります。

Tomcat 内に OSGi を埋め込むと、どのシステム サービス/ポートが公開されますか?

それは、何をインストールし、どのように構成するかによって異なります。これは、デフォルトポートとそれらの構成方法に関するやや古い(ただし、IMHOはまだ関連しています)議論です。

于 2016-12-01T21:56:11.410 に答える
1

同じ方法でアプリケーションをデプロイします。サーベルト ブリッジを使用して、tomcat と weblogic に karaf をデプロイしました。コンテナを使用する理由は、一部の顧客が「oracle」または「ibm」ショップであり、これらのサーバーですべてのデプロイメントを実行したいという環境の制約を乗り越えるためでした。

サーブレット ブリッジを使用するため、http トラフィックを一覧表示するために新しいポートを開く必要はありません。そのポートがブロックされている場合、karaf コンソールで問題が発生する可能性があります。また、別のポートで起動する組み込みの jetty インスタンスが原因で、cxf の実行に問題があったことを思い出します。

ポート以外に、書き込みアクセス権のある karaf ホーム ディレクトリが必要です。

于 2014-02-03T11:14:32.683 に答える