私たちが開発しようとしているアプリケーションでは、データプロバイダコンポーネントを実装するための共通インタフェースがあり、これらのプロバイダをサービスとして利用しています。OSGiアプリケーション設計 - 私はサービスフレームワークを悪用していますか?
私の同僚の一人は、これらの実装を追跡できるサービス(現在利用可能なサービスの数は、ゲッターを介してコードベースの他の部分で利用可能にするサービス)を作成する方が良いかもしれないと示唆しました。実装バンドルのアクティベータを使用して登録/登録解除します。
これは一般的には機能しますが、これは最初はサービスレイヤーによって提供されているものとほぼ同じです。私には、機能が重複しているように感じられます。
あなたはどう思いますか?
OSGiフレームワークからコードを切り離すつもりはないので、重複する必要はありません。あなたとRobinは、Service Registryに関してホイールを再実装することに注意しています。 org.osgi.util.tracker.ServiceTracker.ServiceTracker/ServiceTrackerCustomizerを使用すると、「トラッキング」をうまく提供します – earcam