2016-10-27 18 views
0

Tomcat 8サーバー内では、タスクを実行するためにスレッドプールが必要ないくつかのWARプロジェクトがあります(スケジューラと並列処理により、特にパフォーマンスが向上します)。異なるWAR間のスレッドプールの共有

各プールが独自のスレッドを処理するにつれて、スレッドにコンテナが多すぎるため、明らかに疑問が浮かび上がりました。Tomcat内のいくつかの戦争プロジェクトと何らかの方法で単一のスレッドプールを共有できますか?

プールはSpring's schedulersと標準のJava ThreadPoolExecutorのミックスですが、必要に応じて1つのタイプに標準化することができます。

PS:これは実際に役に立ちますかThe Executor (thread pool)もしそうなら、どうですか?

+0

まず、Tomcatの容量を超えた場合は、スレッドの量を減らすことができないことを確かめるためにアーキテクチャを検討する必要があります。 – Zorglube

+0

@ Zorglubeあなたのコメントを少し説明したり、言い換えてください。私はあなたが何を意味しているのか分かりません。 – gvasquez

+0

私は、Tomcatがそれを伝えることができないほど多くのスレッドを持っているならば、ソフトウェアアーキテクチャを再構築して、より少ないスレッドで仕事をすることができないことを本当に確かめるべきです。 – Zorglube

答えて

1

単一のThreadPoolをグローバルJNDIリソースとして構成し、ResourceLinkを使用して、必要な数のWebアプリケーションまたはそのほとんどのリソースにリソースを使用できるようにすることができます。この作業を行うには、単純なカスタムリソースファクトリをコード化する必要があります。

TomcatのJNDI documentationは、シンプルな工場の実例を提供します。

+0

優れた答えが聞こえます。私はそれを試さなければならない – gvasquez

関連する問題