私が最初にOSGiを見始めたとき、JARをビルドするだけで、マニフェストファイルがあればOSGiコンテナーにデプロイできるという印象を受けました。モジュールを古典的な方法(Maven)で構築し、プラグインなどを使用してマニフェストを作成することを想像しました。そうすれば、基本的にスタンドアロンアプリケーションであるモジュールをOSGiを介して他のモジュールと通信させることができます。
OSGiについてさらに読むと、OSGiがより低レベルで使用され、基本的に依存性注入に取って代わり、ロギングなどの横断的関心事サービスを提供する例が増え始めています。そして、休止状態などを使用するのは問題のようです...(または何かが足りないだけかもしれません)。
少なくとも私にとっては、このように優れたレベルのモジュール性とOSGiへの統合を実現する意味はあまりわかりません。むしろ、それぞれが独自のテクノロジーとフレームワークのセットを備えた個別のモジュールを用意したいと思います。そしておそらくWebリソースと永続化レイヤー。これはOSGiで達成できますか?はいの場合、正しい方向、例などを教えていただけますか?
編集、OSGiを使用しようとしている方法の詳細を追加しました:
私は、より高いレベルの責任を持つ可能性のある、複数のクラスのモジュールを持つ可能性を想像しています。
議事モジュールのように。この場合、イベントの永続化、イベントの追加、フィルターを使用したイベントの一覧表示などが必要です。このアジェンダには複数の内部クラスがあり、永続化レイヤーが必要な場合もあります。したがって、Guiceのようなものを使用してそれらのクラスをDIし、いくつかのJPAを使用してデータを永続化したいと思います。
サーバーやロギングなどのX-cuttingの懸念事項にはバンドルが含まれている可能性があることは理解できますが、データモデルはアジェンダバンドルに固有のものです。だから私の質問は最後だったと思いますバンドル内でできることとできないことは何ですか?そして、一般診療として内部で何をすべきか、すべきではないのでしょうか?
ありがとう!マウリシオ