OSGiバンドルがEclipse RCPでRESOLVED状態になるのを聞いて聞いていません。 BundleListenerまたはBundleTrackerは、バンドルが解決済みの状態になっていることに気付いていないようです。Eclipse RCPのOSGi BundleListenerとBundleTracker
リスナーは、RESOLVED to ACTIVEイベントに気付きます。リスナーバンドルが自分自身を登録する機会を得る前に、起動コンフィギュレーションのバンドルが解決済みの状態に入る可能性はありますか?
他のバンドル(たとえば)がサービス/クラスにアクセスしようとするとすぐにバンドルが遅延/自動的に解決済みからアクティブになると思ったのですか?
乾杯!
ご回答ありがとうございます。特定のバンドルにACTIVE状態を強制して他のバンドルがRESOLVEDに入る前に強制的に状態を知る方法があるかどうか知っていますか? – deephacks
これは一般的に可能ではありません。 ResolverHookを使うと、バンドルを解決しようとしているときに通知を受け取ることができます。そしてフックは他のバンドルを開始しようとする可能性があります。しかし、それはうまくいかないかもしれません。たとえば、両方のバンドルが同じ解決操作の一部である場合 脆弱な依存関係の悪いデザインのように思える理由を再考する必要があります。 –