OSGiフレームワーク(Equinox)をメインメソッドで実行しようとしています。 フレームワークを起動するたびに、BundleContext.getBundles().length
を印刷すると、フレームワークにバンドルが1つしかインストールされていないことが示されます(これは確かにシステムバンドルです)。 最初のバンドルをインストールすると、バンドルIDは最後のセッションから続行されます。最後のセッションで4バンドルがあったとします(システムバンドルを停止する前にそれらをすべて停止してアンインストールした場合)、最初のバンドルIDは5に設定されています。 ここで、フレームワークがバンドルIDをどのように選択するのか知りたいですか?どうしてフレームワークはすべてのバンドルをアンインストールしたのに最後のセッションを覚えていますか?それはバンドルキャッシュのためですか?それがそうであれば、キャッシュをクリアするにはどうしたらいいですか?OSGiフレームワークはどのようにバンドルIDを設定しますか?
5
A
答えて
6
フレームワークでは、最後に使用されたバンドルIDが、管理する永続ストアのどこかにあります。このストアがどのように見えるかは、フレームワーク実装の詳細です。フレームワークを起動するときに、org.osgi.framework.storage.clean
フレームワーク構成プロパティーを指定できます。これにより、インストールされているすべてのバンドルがクリアされますが、最後に使用されたバンドルIDをリセットするかどうかはわかりません。
2
equinox/org.eclipse.osgi
フォルダを削除すると、番号がリセットされます。削除する前に、バンドルにこのフォルダの下に重要なデータがないことを確認してください。
osgi> bundle 7
slf4j.api_1.6.1 [7]
Id=7, Status=ACTIVE Data Root=D:\temp\test\equinox\org.eclipse.osgi\bundles\7\data
...
関連する問題
- 1. どのようにOSGiのバンドル
- 2. GlassFishの - どのようにOSGiバンドル
- 3. OSGiバンドルはバンドルアクティベータなしでどのように開始されますか
- 4. OSGiバンドルにGWTを統合しようとしています
- 5. OSGiコンテナ内のバンドル間で、非OSGiライブラリをどのように共有できますか?
- 6. OSGIフレームワークでKafka 0.9.0.0コンシューマを設定するには?
- 7. どのようにPAX-EXAMでOSGi SOAPバンドルをテストするのですか?
- 8. Equinox OSGIフレームワークでJava引数をバンドルに渡す?
- 9. OSGiバンドルのSchemacrawler
- 10. は、どのように私は次のようにフィールドIDを設定しようとしていますMVC3
- 11. どのようにxbuildから署名のIDを設定しますか?
- 12. OSGiバンドルを展開すると、別のバンドルから設定が削除されます
- 13. OSGiのすべてのバンドルにリソースファイルを見えるようにするには?
- 14. エクスポートとOSGiバンドル
- 15. ユニットテストOSGIバンドル
- 16. Dojo 1.7.2をOSGIバンドル
- 17. EclipseStarterクラスからOSGi環境を使用できるようにOSGi環境を設定するにはどうすればよいですか?
- 18. osgiバンドルのlib jarにアクセス
- 19. バックボーンモデルのIDはどのように設定されていますか?
- 20. CXF OSGiバンドル - CXFServletに対するフィルタを登録しますか?
- 21. IBM Websphere LibertyはEJBとOSGIバンドルをサポートしていますか?
- 22. OSGI:私はこのようなのManifest.mfで、「org.eclipse.equinox.http.jetty」に、ここで、バンドルにOSGIフラグメントを追加するフラグメント
- 23. バンドルがosgi実行時に例外をスローすると、どのように通知されますか?
- 24. OSGIバンドルからの呼び出しデータソース
- 25. OSGiバンドルをcxf-extension-osgiで再起動
- 26. JSpackをバンドルしないようにWebpackを設定する
- 27. OSGi環境では、クラスパスとクラスローダーはどのように設定されていますか?
- 28. OSGIとJSFはどのように連携できますか?
- 29. はどのようにdivのIDを取得し、anoher FUNCに設定する
- 30. foistwareバンドルはどのように機能しますか?
それはナンバリングをリセットします:
有効なバンドルIDを持つ
bundle
コマンドはequinox/org.eclipse.osgi
フォルダの絶対パスを表示することができます。 – palacsint@palacsint - あなたの答えで述べた 'equinox/org.eclipse.osgi'フォルダを削除しますか? – Reza
削除すると思います。 (私は 'equinox/org.eclipse.osgi'フォルダ内に空のディレクトリを作成しましたが、' clean = true'を使ってフレームワークを開始した後には消えてしまいました) – palacsint