legacy-knowledge-base
公開されました Sep. 10, 2025

スレッド ダンプでは、InitFilter クラス内に多くのブロックされたスレッドがあります

written-by

Javier Moral

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • スレッド ダンプを分析すると、次のようなスタック トレースを含む BLOCKED ステータスの複数のスレッドがあります。
"http-nio-8080-exec-129" Id=325 BLOCKED on com.liferay.portal.init.servlet.filter.internal.InitFilter@4334dad owned by "http-nio-8080-exec-130" Id=326
at com.liferay.portal.init.servlet.filter.internal.InitFilter.processFilter(InitFilter.java:51)
- blocked on com.liferay.portal.init.servlet.filter.internal.InitFilter@4334dad
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
...

Environment

  • Liferay DXP 7.0+

解決策

  • サーバーの起動時に、アプリケーション サーバーと DXP Web アプリケーションの起動が完了していても、最初のリクエストの受信時に遅延初期化されるリソースがいくつかあります。 これにより、この最初のリクエストが応答される前に一度に多くのリクエストが受信された場合、これらのリソースがまだ初期化されていないため、ログにエラーが表示されていました。

    これらのエラーの生成を回避するために、initFilter が開発されました。これは、最初の要求のみを通過させ (このリソースの初期化をトリガーします)、この最初の要求が応答されるまで残りの要求をブロックします。

    このため、外部トラフィックがノードに到達する前に、最初にウォームアップ リクエストを送信し、次にノードを外部トラフィックに公開することを常にお勧めします。 このようにして、ノードの起動直後に多数のリクエストが同時に到着した場合に、これらのブロックが回避されます。

did-this-article-resolve-your-issue

legacy-knowledge-base