legacy-knowledge-base
公開されました Jul. 2, 2025

クラスタ モードでノードを起動するときに ActionException エラーが発生しました

投稿者

David Tello

knowledge-article-header-disclaimer-how-to

knowledge-article-header-disclaimer

legacy-article

learn-legacy-article-disclaimer-text

問題

  • ノードがクラスタ モードで起動し、プロパティ "cluster.link.enabled" が有効になっている場合、次のようなエラー トレースがログに表示されます:
    2021-03-22 10:20:12.856 WARN [http-nio-8080-exec-1][PortalImpl:6840] javax.servlet.ServletException: A servlet matching the filter (servlet.init.private=false)(servlet.type=friendly-url) is unavailable
    javax.servlet.ServletException: A servlet matching the filter (servlet.init.private=false)(servlet.type=friendly-url) is unavailable
    ...
    Caused by: java.lang.NullPointerException
    at com.liferay.staging.security.internal.permission.StagingPermissionChecker.hasPermission(StagingPermissionChecker.java:128)
    ...
    2021-03-22 10:20:12.975 ERROR [http-nio-8080-exec-1][error_jsp:618] User ID null
    2021-03-22 10:20:12.975 ERROR [http-nio-8080-exec-1][error_jsp:619] Current URL /
    2021-03-22 10:20:12.975 ERROR [http-nio-8080-exec-1][error_jsp:620] Referer null
    2021-03-22 10:20:12.976 ERROR [http-nio-8080-exec-1][error_jsp:621] Remote address 127.0.0.1
    2021-03-22 10:20:12.976 ERROR [http-nio-8080-exec-1][error_jsp:623] com.liferay.portal.kernel.events.ActionException: java.lang.NullPointerException
    com.liferay.portal.kernel.events.ActionException: java.lang.NullPointerException
    ...
    Caused by: java.lang.NullPointerException
    at com.liferay.staging.security.internal.permission.StagingPermissionChecker.hasPermission(StagingPermissionChecker.java:128)
  • プロパティ「cluster.link.enabled」を無効にしてクラスターモードを無効にすると、ノードは問題なく起動します。
  • このエラーは、クラスター通信に使用される発信 IP とネットワーク インターフェイスに関連しています。
  • デフォルトでは、JGroups は localhost を使用して自動的にバインド アドレスを設定します。 ただし、一部の構成では、localhost はホストの実際のアドレスではなく、内部ループバック ネットワーク (127.0.0.1 または:1) にバインドされます。

  • この動作を上書きするために、Liferay にはプロパティ "cluster.link.autodetect.address" があります。 選択されたインターフェイスは、このプロパティで指定されたアドレスを解決できるものになります (デフォルトでは www.google.com:80)。 このアドレスに到達できない場合は、localhost が使用され、例外が発生する可能性があります。

環境

  • Liferay DXP 7.2+

解決

  • この問題を解決する 1 つの方法は、 portal-ext.properties のプロパティ「cluster.link.autodetect.address」の値を変更して、クラスタリンクからアクセス可能で、クラスタリンク自体の設定に使用できるホスト/ポートの組み合わせを設定することです。最も簡単なオプションは、既に判っている (アクセス可能な) データベース サーバとポートを使用して、デフォルト値を置き換えることです。
  • 例:
    cluster.link.autodetect.address=database_node:1521

追加情報

 

 

did-this-article-resolve-your-issue

legacy-knowledge-base