2016-10-10 8 views
3

My Spring Boot Applicationはコンテンツ管理システムを備えています。私は、アプリケーションの再起動を必要とせずに新しいコンポーネントを動的にロードできるようにしたいと考えています。サンプルコンポーネントは、新しい動画プレーヤーコンポーネントまたは広告コンポーネントを読み込んでいる可能性があります。各コンポーネントには、独自のコントローラとビューが含まれている可能性があります。Spring起動時に動的にロード可能なモジュールのパターンはありますか?

これにはどのようなパターンが適していますか、これを処理するのに役立つ良いフレームワークは何ですか? OSGiはオプションですか?私は100%の溶液を、おそらくいくつかのオプションがありません怖い

+0

あなたはプラグインベースのアーキテクチャになるとどうなるのですか –

+0

音が良い!持続する... – Spider

答えて

1

、私は3以下の強調表示してみましょう:

  1. spring factories、(自己)あなたの豆を設定する方法があります。

  2. 行くためのもう一つの興味深いアプローチは、スプリングブーツは、それ自体で拡張をどのように扱うかの方法である - この記事のように、独自の春ブート・スタータを持つことによって:https://blog.codecentric.de/en/2014/11/extending-spring-boot-five-steps-writing-spring-boot-starter/、あなたは可能性

  3. 春の工場と合わせ
  4. ほとんどのプラグインのようなソリューションはspring-plugin-projectです。しかし、読み込みのみサポートされているように見えますが、バージョン管理のようないくつかの機能も欠落しています...だから、おそらく自分でビルドする必要があります。

だから、主な問題は、最終的な観察に私をリードしており、アンロードでも、実行時にこれらの事を更新する可能性があります

一般的に、私はプラグインを持つという概念が働いているという印象を持っていますこれはマイクロブートアーキテクチャ用に設計されているため、スプリングブートという考え方とは対照的です。したがって、追加された(プラグイン)機能は、ゲートウェイによって編成される別個のマイクロサービス(独自のストレージを持つ)になるはずです。ここでは、このようなアーキテクチャのアイデアを示すためにスプリングブートベースのJHipsterプロジェクトを強調します。

関連する問題