現在ApacheTomcatで実行されているJ2EEベースのシステムがあります。本番サーバーをGlassfishサーバーに移行することを検討中です。
誰かが彼らの経験を彼らのどちらかと共有できますか?
それらは実際には比較できません。
ApacheTomcatはJ2EEサーバーではありません。これは、Webアプリケーションのサーブレットコンテナにすぎません。これ以上何もない。 J2EE APIの実装が必要な場合は、他の場所から実装する必要があります。たとえば、Tomcatをコンテナとして使用するApache Geronimoサーバーを使用するか、GlassfishからJARファイルを取得します。
Glassfishは完全なJava JPA、EJBなどのAPIを実装したアプリケーションサーバーです。GlassfishにはTomcatで最初に使用されたサーブレットエンジンが含まれていますが、改良されています(正確にはわかりません)。最近のGlassfishサーバーは、grizzly
を使用する別のコンテナーを使用します。これは、入力/出力にNIO APIを使用し、非常に適切にスケーリングします。私の知る限り、Glassfish ServletEngineの方がパフォーマンスが優れています。ここで素晴らしいベンチマークを見つけました。 (少し古いですが):
http://weblogs.Java.net/blog/sdo/archive/2007/05/how_to_test_con.html
大きな質問は:なぜですか? GlassfishがTomcatまたはJettyを介して提供するために必要なものは何だと思いますか?おそらく管理ユーティリティ?
基本的なサーブレットコンテナ以外に必要なもののほとんどは、簡単にプラグインできます。
したがって、Glassfishはそのままでも問題ありませんが、「理由だけで」移動しても意味がありません。私が構築したほとんどの本番サービスは、実装固有の機能を使用せずに、プレーンな古いサーブレットコンテナ上にあります。
これは少し時代遅れで、少し偏っているかもしれませんが、それはOracleによるものです。 GlassFishとTomCatを比較するセクションにスキップできます
http://Java.Sun.com/developer/technicalArticles/glassfish/GFandMySQL_Part1.html