本当にそれほど重くない従来のアプリケーションサーバーを使用する以外に、マイクロコンテナと呼ばれるJava EEのさまざまな味を試すことができます。
Java EEは単なる一連の標準です。 API仕様の標準結果であり、誰もが自由に仕様を実装できます。アプリケーションサーバー(AS)は、主にこの機能の微調整されたコレクションです。これらのAPIは何の理由もなく生きていませんでした。これらは、プロジェクトで一般的に使用される機能を表します。アプリケーションサーバーは、それらの機能の「管理されたセット」とみなすことができます。このアプローチには多くの利点があります - ASには多くのユーザーがいるため、時間の経過とともに十分にテストされています。機能を自分で配線すると、バグが発生する可能性があります。
Dockerを使うと、アプリケーションがその依存関係を持つ新しい時代が訪れました。多くの場合、アプリケーションにすぐに対応できるすべての機能を備えた、本格的なアプリケーションサーバーの必要性はもはや必要ありません。過去に、アプリケーションサーバーは、アプリケーションに必要なサービスを正確には把握していませんでした。したがって、すべてが束ねられました。WildFlyのようなより革新的なASの一部は、必要なサービスだけをインスタンス化しました。また、Monolith Application Serverを少し緩和したJava EEプロファイルもあります。
現在のところ、Docker内のアプリケーション(JDK、ライブラリ、AS)と一緒にアプリケーションを出荷しています。または、そこに向かっています。したがって、正確な量をバンドルする努力は論理的な選択です。しかし、それは "大きな"ものですが、ASの機能の必要性は依然として重要です。標準や共通の努力に基づいて共通の機能を開発することは、まだ良い考えです。これは、もはや1つの大きなパッケージとして配布するオプションではないようであり、APIのほとんどを非アクティブにする可能性があります。この努力は多くの名前を持っている、それは、Java EEサーバーは、何を使用するのは疑問であるので、光があるマイクロコンテナ、uberjarクリエイター...
ことelse。 * Spring BootはJava EEに基づいていません。また、Getting Startedガイドにあるデフォルト設定では、Tomcatは内部的に使用されています。
キーポイントは、お使いのJava EEアプリケーションは、独立したJava EEアプリケーションとして開発する必要がありますされています。 「ちょうど十分な」機能でそれをラップすることは、これらのマイクロソリューションに委任されます。これは、少なくとも私の謙虚な意見では、正しい道のりです。このようにして、本格的なASソリューションとマイクロソリューションの両方との互換性を保ちます。すべての依存関係を含むuber-jarは、ビルドプロセス中またはビルドプロセス後に作成できます。
WildFly SwarmまたはPayara Microは、必要なサービスだけを実行しているアプリケーションを「スキャン」することができます。実際のアプリケーションでは、実際のアプリケーションでは、量産時のメモリ占有量を100 MBに抑えることができます。これはおそらくあなたが望むものです。あなたがSpringを必要とするなら、Spring Bootは同様のことをすることができます。しかし、私の経験では、Springのブートはmuch more heavyweightで、メモリは現代のJava EEよりも空いています。なぜなら、明らかにSpringが内部にあるからです。もしメモリ消費量がseeking lightweigtnessならば、Java EE、特にWildFly Swarm(またはWildFly)マイクロそれらは私の好きなASであり、本当に、本当に小さくすることができます。私はWildFly Swarmが始めるのがはるかに簡単だと言うでしょうが、Payara microはもっと読みが必要ですが、興味深い機能を提供します。どちらもラッパーとして機能することができます。ビルド段階の後で現在のプロジェクトをラップするだけで、何も変更する必要はありません。
Payara Micro even provides Docker imagesすぐに使える!ご覧のとおり、Java EEは成熟しており、Dockerの土地に入る準備ができています:)
非常に信頼性の高いリソースの1つは、Adam Bienです(例:Java EE micro/nanoservices video)。見てみましょう。
助けてもらえますかhttp://wildfly-swarm.io https://github.com/wildfly-swarm/wildfly-swarm-examples/tree/master/docker/docker-jaxrs –