1

今のところ、2 つのバンドルだけで構成される OSGi ベースの Web アプリケーションを構築しています。そのうちの 1 つで、プロセス エンジンからプロセス インスタンスをロードしています。各プロセス インスタンスは、最初に割り当てられた他のバンドルの特定のバージョンに対応することになっています。

たとえば、バンドル A に 1 つのプロセス インスタンスをロードし、バージョン 1.0 のバンドル B のパッケージを使用して作業したいと考えています。その後、別のプロセス インスタンスを取得し、バージョン 2.0 のバンドル B のパッケージを使用してそれを処理しました。

この機能を実現する方法はありますか?

事前にどうもありがとうございました!ヨハネス

4

1 に答える 1

2

バンドルAは、任意の時点でパッケージの単一バージョンにのみ公開できます。したがって、リフレクションを使用する以外に、バンドルAは、バンドルBの異なるバージョンによってエクスポートされた同じパッケージの2つのバージョンを使用することはできません。

または、バンドルBの2つのバージョンが同じパッケージを異なる方法で実装しているということですか。次に、バンドルAは、バンドルAと同じインターフェイスタイプであるように見えるため、バンドルBの2つのバージョンとは異なる実装オブジェクトを見ることができます。この場合、OSGiサービスは、バンドルBがこれらのオブジェクトをバンドルに公開するための最良の方法です。使用するA。

于 2012-05-08T22:17:32.220 に答える