私はプラグインベースのアプリケーションを作成しようとしています。これは、基本的なフレームワークの他に、プラグインスタイルで他の機能を追加する必要があることを意味します。プラグインベースのJavaアプリケーションを設計する
このようなシステムの問題は、ランタイムに新しいプラグインをロードする方法だと思います。私は、新しいプラグインがインストールされたときに、プロジェクト全体を再現したくありません。 Eclipseのように、プラグインの新規インストール後、ユーザーはプラグインを再起動するだけで済みます。 私の最初の考えは、Javaリフレクションを使用してクラスをランタイムにロードすることです。いくつかのプラグイン構成ファイルが存在する可能性があります。システムはそれらを読み込み、リフレクションを使用してプラグインクラスをロードします。おそらく私は春のフレームワークも使うことができます。なぜなら、Inversion of Controlは私の要求にちょうど一致するからです。
私が調査している別のアイデアは、ejbコンテナを使用していることです。プラグインがejbsのときは、jarにそれらをパックしてejbコンテナにデプロイすることができます。次にjndiを使用してアクセスできます。プラグインがejbsの場合のみ動作します。
とにかく、私はシステム設計の新人です。だから私はこのトピックを投稿し、あなたの意見を聞きたい。 btw。あなたが推薦したいシステム設計に関する良い本がありますか?
ありがとうございます!
「あなたの意見を聞きたい」という質問は良い質問ではなく、もう少し具体的にしてみてください – Cephalopod
Class.forName() –