複雑なアプリケーション (jForexAPi、DDS2) を OSGi バンドルに入れようとしています。コンパイル時と実行時 (推移的) の両方の依存関係が組み込まれた 2 つのバンドルを作成しました。したがって、.jar バンドル内に .class-es を含むバンドルがあります。
DDS2実装は実行時にスレッドのクラスローダーを介してクラスをロードするため、使用しようとするとClassNotFoundExceptionが発生しました。どういうわけかこのように:
Class e = Thread.currentThread().getContextClassLoader().loadClass("com.dukascopy.charts.main.DDSChartsControllerImpl");
2 つの質問があります。
- karaf でスレッドの親バンドルを特定するにはどうすればよいですか?
- OSGi のランタイム クラスロードなどの問題を解決するにはどうすればよいですか? 実行時のクラスロードを許可または検出する方法はありますか?