私はAPIバンドルといくつかの実装サービスを書いています。apiのすべての実装を取得
今、私はそれらをプラグインとして使いたいので、まずすべてのサービスのリストが必要です。
は、私はこのようなAPIを始めている:
Framework m_fwk = new org.apache.felix.framework.FrameworkFactory().newFramework(null);
m_fwk.init();
AutoProcessor.process(null, m_fwk.getBundleContext());
m_fwk.start();
Bundle api = m_fwk.getBundleContext().installBundle(
"file:/foo/bar/api/target/api-1.0.jar");
api.start();
はだから今APIがロードされます。今、どのバンドルがこのAPIを実装しているかを知る必要があります。どのようにフレームワークからこの情報を取得できますか?
mhはい、明示的にインストールする必要があるAPIがあります。次に、ディレクトリからすべてのバンドルを取得し、APIを実装するこれらのバンドルを探します。たとえば、私はプラグインAPIとたくさんのプラグインを持っています。今私は以前にインストールされたAPIバージョンiに一致するすべてのプラグインをロードしたい。私はあなたの例がこれを正しく行うと思いますか? – reox