1
時にオンフェリックスシステムパッケージをエクスポートする方法:OSGI:私は私はいくつかのシステムパッケージをエクスポートする必要がある場合には、ランタイム
final Map configMap = new HashMap();
configMap.put(Constants.FRAMEWORK_STORAGE_CLEAN, "onFirstInit");
configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA,"my packageshere");
felix = new Felix(configMap);
しかし、どのように私は、実行時にいくつかのパッケージをエクスポートすることができますか?たとえば、osgiフレームワークを使用している場合、私はfelixを起動するときにエクスポートしなかったいくつかのシステムパッケージを必要とするバンドルをいくつかインストールしたいと考えています。
自分自身に拡張機能をダウンロードできるアプリケーションがあるとします。拡張にはN個のバンドルがあります。いくつかのバンドルにはいくつかの余分なシステムパッケージが必要です。あなたは毎回アプリケーションを再起動しますか?別の例 - osgiでWebコンテナを使用し、Webアプリケーションをデプロイします。新しいWebアプリケーションにいくつかのシステムパッケージが必要な場合 - 他のすべてのWebアプリケーションを停止しますか? –
いいえ、これは定義上有限集合なので、すべてのパッケージをエクスポートします。 (あなたのコードのフレームワーク側でいくつかのクラス読み込みハッキングをしない限り) –
私はあなたの言うことを理解しています、これは唯一の解決策かもしれません。しかしバンドルが非常に動的で、それらの環境が動的なプロパティを持たなければならないので、それは奇妙です。 –