Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

EAP 6 で JBAS013412: Timeout after ... seconds waiting for service container stability. を解決するために jboss.as.management.blocking.timeout 設定する

Solution Verified - Updated -

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 6.x

Issue

  • サーバーの起動時に以下のエラーが出力されます。
12:21:13,956 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS013412:Timeout after [300] seconds waiting for service container stability.Operation will roll back.Step that first updated the service container was 'add' at address '[("interface" => "management")]'
  • サーバーで非常に大きなアプリケーションが実行しており、サーバーを起動するのに 5~6 分かかる場合があります。したがって、タイムアウトを 600 または 900 秒に設定するにはどうすれば良いですか? どこでどのように設定しますか?

  • アプリケーションコードのロードに時間がかかりすぎる場合は、スレーブの JBoss EAP インスタンスが起動しません。

  • https://bugzilla.redhat.com/show_bug.cgi?id=1117945 に記載されているバグが発生しました。この問題は 6.3.3 または将来の 6.4 で修正されましたか?

  • 新しいバージョンのアプリケーションをデプロイすると、"Operation timeout awaiting service container stability" エラーが発生します。通常、アプリケーションのデプロイは非常に速くなります。タイムアウトになるまで待ちます。この問題が発生している原因は何ですか?

  • 以下のエラーが発生したあと、Jboss アプリケーションサーバーを再起動することができません。以前この問題が発生していたので、<property name="jboss.as.management.blocking.timeout" value="600"/> プロパティを設定しました。すると、サーバーがデプロイメントが発生するのを 600 秒待って、その後失敗するようです。このとき QA 環境がダウンします。この問題を解決するにはどうすれば良いですか?

02:30:20,757 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS013412:Timeout after [600] seconds waiting for service container stability.Operation will roll back.Step that first updated the service container was 'add' at address '[
    ("core-service" => "management"),
    ("management-interface" => "native-interface")
]'
  • テスト目的で動力不足の仮想マシンで jboss を実行すると、起動に時間がかかり、その後タイムアウトになる場合があります。タイムアウトの時間を延ばすことはできますか?
  • AWS 仮想マシンに WAR ファイルをデプロイすることができません。
  • JBOSSEAP6 windows サービスを開始すると、デプロイメントは ".deployment" ファイルではなく、デプロイメントディレクトリに ".failed" ファイルを作成します。これは新たに作られた AWS EC2 Windows Server 2012 R@ インスタンスです。これは現在のところテスト環境で、JBoss サービスを開始しようとするたびに問題が発生します。

Resolution

  • EAP 6.3.0 以降では、設定ファイル (standalone-*.xml または domain.xml ファイル) に、システムプロパティ jboss.as.management.blocking.timeout を設定します。たとえば以下のようになります。
...
</extensions>
   <system-properties>
         <property name="jboss.as.management.blocking.timeout" value="600"/> 
   </system-properties>
<management>
...
  • 以下の CLI コマンドを使用してこれを設定します。

スタンドアロンモードの場合:

/system-property=jboss.as.management.blocking.timeout:add(value=600)

ドメインモードの場合:

  • $JBOSS_HOME/bin/domain.conf を編集し、if ブロックの後の -Djboss.as.management.blocking.timeout=600 から設定します。
...
#
# Specify options to pass to the Java VM. 
#
if [ "x$JAVA_OPTS" = "x" ]; then
   JAVA_OPTS="-Xms64m -Xmx512m -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true"
   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
else
   echo "JAVA_OPTS already set in environment; overriding default settings with values:$JAVA_OPTS"
fi

JAVA_OPTS="$JAVA_OPS -Djboss.as.management.blocking.timeout=600"
...

注意: サーバーグループまたは個々のドメインサーバーレベルでプロパティを設定する使用事例でのみ、ホストコントローラーに設定したタイムアウトより低いタイムアウトの設定が必要になる可能性があります。

Root Cause

  • EAP 6.3.0.ER8 の jboss.as.controller: BlockingTimeout に新しいクラスがあります。このクラスは jboss.as.management.blocking.timeout の値をロードするか、300 (秒) をデフォルトに設定します。
    注意: このプロパティは、デプロイメントごとのタイムアウトではなく、コンテナーの安定性におけるタイムアウトです。そして、起動時jboss.as.management.blocking.timeout に到達すると、すべてのアプリケーションがデプロイされなくなり、コンテナーがシャットダウンします。この根拠としては、重要な失敗に気づかない可能性があるため、半分稼動しているサーバーに潜在的な危険があるということです。

Diagnostic Steps

  • ウィルススキャナーがサーバーにインストールされているかどうかを確認します。

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.