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

マスターノードがダウンしたときにスケジュールされたジョブがフェイルオーバーしない。

written-by

Dávid Hegedüs

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

問題

  • マスターノードがダウンし、新しいマスターが選出された場合、カスタムスケジュールジョブが計画されないという問題が発生する場合があります。

Environment

  • Liferay DXP 7.0+

解決策

  • deactivate() メソッドの中で、 unschedule() ではなく、 unregister() を使用していることを確認してください。

追加情報

  • スケジュールされたジョブが、そのコンポーネントの非活性化中に unschedule() を呼び出し、その非活性化が ModuleServiceLifecycle unregistration の一部として起こる場合、そのスケジュールされたジョブは、クラスタ全体で非スケジュール化されます。 シャットダウンシーケンスのその段階では、LiferayはLiferayのサーブレットコンテキストが破壊されたことを示すフラグを設定していません(技術的には、サーブレットはまだ破壊される過程にあるので、サーブレットコンテキストはまだ破壊されていませんから)。
  • 既存のBladeのサンプルを見ると、コンポーネントの非活性化時に unschedule() を行わず、 unregister()だけを行っています。

did-this-article-resolve-your-issue

legacy-knowledge-base