Java EEアプリケーションをプラガブルにしたいと考えています。メインアプリケーションは耳に配置されますが、EJBのコードにはプラグインのエントリポイントが含まれています。プラグインは、独自のjarファイルにデプロイできます。これを行う良いフレームワークはありますか?私はちょうど軽量のフレームワークを探しています。Java EEプラグインフレームワーク
このようなフレームワークを作成するにはどうすればよいですか?
Java EEアプリケーションをプラガブルにしたいと考えています。メインアプリケーションは耳に配置されますが、EJBのコードにはプラグインのエントリポイントが含まれています。プラグインは、独自のjarファイルにデプロイできます。これを行う良いフレームワークはありますか?私はちょうど軽量のフレームワークを探しています。Java EEプラグインフレームワーク
このようなフレームワークを作成するにはどうすればよいですか?
OSGiはこれに適しています。 Java EEアプリケーション内でApache FelixまたはEclipse Equinoxを起動でき、OSGiバンドル(MANIFEST.MFファイル内のいくつかの追加エントリを持つjarファイル)をそれらにデプロイできます。
ここフェリックスを埋め込むことについていくつかの良い情報があります:http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.html#ApacheFelixFrameworkLaunchingandEmbedding-embedding
のJava EE用のプラグインを作成するには、2つの他の方法は、そのコネクタアーキテクチャ(JCA)を介して、そのポータブルエクステンション(CDI)を経由しています。
JCAは強力ではありませんが、通常のアプリケーション開発者ではなくベンダーによって頻繁に使用されるため、文書化されていません。
私はCDIを「差し替え可能」な方法で使用する具体的な例を見つけることはできません。 CDIであっても、展開はまだ非常に静的なようです。プラグインを追加するだけで、アプリケーション全体を再生成する必要があります。たとえば、CDIでは、プラグイン可能なアーカイブに最適な別のアプリケーションからBeanを@Injectできないようです。 –
Glassfishをすでに使用している場合は... http://docs.oracle.com/cd/E26576_01/doc.312/e24930/osgi.htm。これにより、バンドルをGlassfishに直接デプロイすることができるため、OSGiを自分で作成する必要がなくなります。私はそれがベンダーにあなたを結びつけることを憎む。 –