2011-01-12 12 views
138

これは、TomcatとJBossの間のサーバーの方が優れているが、私の問題を解決するのに十分な答えはまだ見つかりませんでした。JBossとTomcatもう一度

私は、Tomcatはサーブレットエンジンであり、JBossには他にも多くの機能が備わっていますが、私が理解できないことは、jbossよりもTomcatを使用する方が良い理由です。 JBossにはプラグイン可能なアーキテクチャがあり、必要に応じてJBossから機能を取り外して基本的にTomcatサーブレットコンテナにすることができます。そうであれば、Tomcatを使用する代わりに、それをやり直すことをおすすめします。

私がTomcatを好む別の説明は、それが軽量であることです。これはメモリの必要量が少なくなるか、応答が速くなるということです。ここでもまた、jbossコンポーネントが要件に従ってロードされないこと、つまりサーブレットのみを使用している場合は、jbossが残りの機能をスキップして自動的に軽量になることはわかりません。

私のアプリケーションにはJava EEの機能はありませんが、上記の理由により、Tomcatを支持する「軽量」引数は十分に説得力がありません。

助けてください。

編集:ついに私たちはtomcatを使用することに決めました。私たちは6ヶ月以上使用しています。実際には、異なる開発者のために同じサーバーマシン上で複数のTomcatインスタンスを非常に簡単に実行できる実用的な用途がありました.Jbossでは非常に困難でした。

Tomcatが私たちの仕事で面倒なことがわかったので、多くのJava EE機能を使用していないときには正しい選択となるかもしれません。 PS:TomcatでSpringとHibernateを使用しています。

+1

JBossはTomcatと統合していませんか? – Navi

+4

@Navi:そうではありません。これにはTomcatコードベースのforked版が含まれていますが、かなり分かれています。 – skaffman

+0

@skaffman [OK]を、私たちは何をする必要があると思いますdivergenciesが何であるかを見つけることです... – Navi

答えて

132

最初に事実はどちらもより良いです。すでに述べたように、Tomcatはサーブレット仕様をサポートするサーブレットコンテナを提供しています(Tomcat 7はServlet 3.0をサポートしています)。 「完全な」アプリケーションサーバであるJBoss ASは、現在のバージョンでJava EE 6(Servlet 3.0を含む)をサポートしています。

Tomcatはかなり軽量であり、サーブレットAPIを超えて特定のJava EE機能が必要な場合は、必要なライブラリをアプリケーションの一部として提供することで簡単にTomcatを拡張できます。たとえば、JPA機能が必要な場合は、HibernateまたはOpenEJBを含めることができ、JPAはのほぼのままで動作します。あなたのプロジェクトを開始するとき、あなたはそれが必要とする考えを持っている必要があり

:どのようにTomcatやフルスタックJava EEアプリケーションサーバを使用するかどうかを決定する

。非同期統合

  • Webサービスエンジンの

    1. JMSメッセージング:あなたは大規模なエンタープライズ環境のJBoss(または他のJava EEサーバ)にいる場合は右のそれは組み込みの提供と支援などのための選択かもしれません(JAX-WSおよび/またはJAX-RS)
    2. JMXなどの管理機能およびスクリプト管理インターフェイス
    3. 高度なセキュリティ
    4. 他のすべての「偉大な」のJava EEの機能サードパーティのディレクトリとの統合の-ボックスアウト
    5. EARファイルの代わりに「のみ」WARファイルのサポート、私は覚えていないことができ
    :-)

    私の意見ではウェブ中心のユーザー向けアプリケーションの場合、Tomcatは非常に適しています。バックエンドの統合が始まる場合、Java EEアプリケーションサーバーは(少なくとも)考慮する必要があります。最後に、Tomcatのために開発されたWARをJBossに移行することは、1日のエクササイズでなければなりません。

    第2に、環境内の使用方法も考慮する必要があります。あなたの組織がすでに1,000のJBossインスタンスを実行している場合は、具体的な要件(運用コストやスキルアップなどの面を考慮して)にかかわらず、常にそのことを実行できます。もちろん、これは逆も同様です。

    私の2セント

  • 6

    厳密に言えば、

    他の人が指摘しているように、JBossには完全なJava EEスタックがありますが、TomcatはWebコンテナのみです。 JBossはウェブコンテナとしてのみ機能するように設定することもできます。これは、同梱のTomcat Webコンテナを囲む薄いラッパーになります。そうすれば、Tomcatの周りには薄い "ラッパー"となる軽量のJBossがほぼあります。それはほぼ軽量になります。

    JBossが提供しなければならない特別なものがない場合は、最も快適なものをお探しください。あなたのために設定して維持するのが最も簡単ですか?

    +1

    TomcatでWebサービスとjmxを使用するのがどれくらい難しいですか、いくつかの良いリファレンス/リンクを提供してください – Ashish

    2

    私はまた、いくつかのサーバーに対して、例えば1だけ永続コンテキストに注釈を付ける必要がありますが、一部のサーバーでは、注入は手動で行う必要があることを読みました。

    12

    は、それはあなたが完全なJava EEアプリケーションを構築するために必要なすべての機能を備えていTOMEE

    を見てみましょう。

    7

    私は確かTomEEを見ています。というのは、TomcatがデフォルトですべてのJavaEE 6統合を失わないようにするためです。それは非常に良い妥協の一種です

    関連する問題