1

かなり複雑なアプリケーションを構築しており、さまざまな部分をさまざまなタイミングでリリースできるようにする必要があります。この問題を解決するために、RSL とモジュールを使用しています。

それでは、プロジェクトについて説明させてください(無実を保護するために名前が変更されています)

コア (rsl)

クライアント (アプリケーション)

groceries (モジュール) groceriesCore (rsl)

ベーカリー (モジュール) ベーカリーコア (rsl)

アプリケーションの領域をモジュールとしてロードする 1 つのアプリケーション クライアントがあります。ログインなどを行い、資格を保持し、モジュールがこの種の状態にアクセスし、相互に通信するための API を提供するコア RSL があります。

クライアントをロードするときは、現在必要とされているため、コア rsl のみをロードする必要があります。groceries モジュールがロードされるときは groceries rsl がロードされ、同様に、bakery モジュールがロードされるときは bakeryCore rsl がロードされます。

実際には、これは起こりません。実行時にプロジェクトをそのように設定すると、アプリケーションの起動時にコア RSL が読み込まれますが、モジュールが読み込まれるときにモジュール RSL は読み込まれません。groceries モジュールを格納するプロジェクトからアプリケーションを実行すると、アプリケーションのロード時に rsl がロードされますが、モジュールのロード時にはロードされません。

モジュールのロード時に rsl をロードする方法が必要です。

現時点では、クライアント アプリケーションで groceriesCore と bakeryCore を指定して、クライアントの読み込み時にすべて読み込まれるようにします。アプリケーションの起動時にこれらすべての部門をダウンロードしたくないので、これは明らかに良い考えではありません.

どうすればこれを達成できますか? (恐ろしいカスタム RSL ローダー タイプのもの以外)。

4

1 に答える 1

1

RSLは、アプリケーションの起動時にのみロードできます。私が過去に行ったことは、groceriesCoreのようなものをRSLではなく別のモジュールにすることです。次に、食料品をロードするときにgroceriesCoreモジュールがロードされているかどうかを確認し、必要に応じてロードするように、食料品モジュールの依存関係としてどこかに指定します。

モジュールの依存関係の管理は、Flexが管理するものではありません。したがって、手動で行う必要があります。あるいは、PotomacFrameworkがOSGI風のアプローチに役立つかもしれません。

于 2010-02-23T14:07:39.887 に答える