OS環境変数を使用したLiferay DXPの設定

この記事では、環境変数を使用してLiferay DXP 7.0内でポータルのプロパティを設定する方法を説明し、より柔軟でクラウドネイティブなアプローチを実現します。

環境変数を使用してDXP 7.0を設定すると、環境固有のポータルプロパティを設定する別のオプションがあります。 このオプションは、Dockerコンテナのようなコンテナベースの環境で作業する場合に一般的に使用されます。

目次

  1. 必要条件
  2. 環境変数
  3. ライフレイポータルの物件情報
  4. 優先順位を上書きする

決議

必要条件

DXP 7.0を使用している場合は、プラットフォームにDXP 7.0 Fix Pack 24がインストールされている必要があります。

環境変数

環境変数は、オペレーティングシステム(OS)内で設定します。 つまり、環境変数の命名規則もOSによって決められているということです。

環境変数名を適切に構築するための一般的なガイドラインは以下の通りです。

  • 名前は、大文字、数字、アンダースコアを使用して定義する必要があります。
  • 名前の先頭に数字を付けることはできません。

例えば、一般的によく使われているJavaの環境変数。 JAVA_HOME

ライフレイポータルの物件情報

環境変数を使用する場合は、一般的な命名規則に従わなければなりません。 しかし、Liferay ポータル・プロパティは、小文字、ピリオド、カッコなど、一般的に禁止されている文字で構成することができます。 Liferay ポータル・プロパティに環境変数を使用するには、以下の命名規則を使用します。

ライフレイネーミングコンベンション(LNC)

  • 名前の先頭には LIFERAY_ を付けなければなりません。
  • 名前はデフォルトでは小文字に変換されます。
  • 特別なエンコーディングは、DXP 7.0で提供されている定数名を使用したり、Unicodeコードポイントを使用したりして、一般的に禁止されている文字を表現するために使用することができます。

LNC: DXP 7.0での定数名の使用

特殊なエンコーディングに定数名を使うのが一般的なオプションでしょう。 定数名を使用すると、大文字、ピリオド、括弧などの一般的な文字を使用することができます。 利用可能な定数名のリストは、 CharPool.javaにあります。

Liferayで定数名を使用するためには、環境変数名のガイドラインにも従わなければなりません。

  • 定数名は大文字で宣言しなければなりません。
  • 定数名に '_' という文字がある場合は、それらを削除しなければなりません。
  • 定数名は、'_' のラップペアを使って宣言しなければなりません。

例1:シンプルなポータルプロパティ

  • ポータル・プロパティ。 setup.wizard.enabled=false
  • 環境変数。 LIFERAY_SETUP_PERIOD_WIZARD_PERIOD_ENABLED=trueLIFERAY_SETUP_PERIOD_WIZARD_PERIOD_ENABLED =true

どのように機能するのか。

  1. 一般命名規約の項に記載されているガイドラインを満たしていること。
  2. 名前は接頭辞から始まります。 LIFERAY_です。
  3. 定数名PERIODは、次のように宣言されて使用されます。 _PERIOD_のように宣言されて使用されます。

例2:複合型ポータル物件

  • ポータル プロパティ。 setup.database.driverClassName[mysql]=com.mysql.jdbc.Driverです。
  • 環境変数。 LIFERAY_SETUP_PERIOD_DATABASE_PERIOD_DRIVER_UPPERCASEC_LASS_UPPERCASEN_AME_OPENBRACKET_MYSQL_CLOSEBRACKET_=com.mysql.jdbc.Driver

どのように機能するのか。

  1. 一般命名規則 の項に記載されているガイドラインを満たす名称です。
  2. 名前は接頭辞から始まります。 LIFERAY_です。
  3. 定数名PERIODは、次のように宣言されて使用されます。 _PERIOD_と宣言されています。
  4. driverClassNameの部分には大文字が含まれています。
    1. 定数名 UPPER_CASE_C として宣言されて使用されます。 _UPPERCASEC_として宣言されて使用されます。
    2. 定数名 UPPER_CASE_N として宣言されて使用されます。 _UPPERCASEN_として宣言されて使用されます。

  5. [mysql]の部分には括弧が含まれています。

    1. 定数名 OPEN_BRACKET として宣言されて使用されます。 _OPENBRACKET_として宣言されて使用されます。

    2. 定数名 CLOSE_BRACKET としてd を _CLOSEBRACKET_と宣言して使用します。

LNC: Unicodeコードポイントの使用

特殊なエンコーディングに Unicode コードポイント値を用いることはオプションですが、定数名オプションを用いるよりも可読性が低くなります。 Unicodeコードポイント値の参照表は、ここにあります。 Unicode表

Unicodeコードポイント値を使用するためには、環境変数名のガイドラインにも従わなければなりません。

  • コードポイントは10進数で表現する必要があります。
  • コードポイントは、'_' のラップされたペアを使って宣言しなければなりません。

例1:シンプルなポータルプロパティ

  • ポータル・プロパティ。 setup.wizard.enabled=false
  • 環境変数。 LIFERAY_SETUP_46_WIZARD_46_ENABLED=true

どのように機能するのか。

  1. 一般命名規約の項に記載されているガイドラインを満たしていること。
  2. 名前は接頭辞から始まります。 LIFERAY_です。
  3. '.' は Unicode コードポイント '46' で表現されており、次のように宣言されています。_46_.

例2:複合型ポータル物件

  • ポータル プロパティ。 setup.database.driverClassName[mysql]=com.mysql.jdbc.Driverです。
  • 環境変数。 LIFERAY_SETUP_46_DATABASE_46_DRIVER_67_LASS_78_AME_91_MYSQL_93_=com.mysql.jdbc.Driverです。

どのように機能するのか。

  1. 一般命名規約の項に記載されているガイドラインを満たしていること。
  2. 名前は接頭辞から始まります。 LIFERAY_です。
  3. '.' は Unicode コードポイント '46' で表現されており、次のように宣言されています。 _46_として宣言されています。

  4. driverClassNameの部分には大文字が含まれています。
    1. 大文字 'C' は Unicode コードポイント '67' で表現されており、次のように宣言されています。 _67_として宣言されています。

    2. 大文字 'N' は Unicode コードポイント '78' で表現されており、次のように宣言されています。 _78_として宣言されています。

  5. [mysql]の部分には括弧が含まれています。

    1. '[' は Unicode コードポイント '91' で表現されており、次のように宣言されています。 _91_として宣言されています。

    2. ']' は Unicode コードポイント '93' で表現されており、次のように宣言されています。 _93_として宣言されています。

優先順位を上書きする

OS 環境変数で設定されたプロパティは、portal-ext、setup-wizard、patched、developer プロパティファイルで設定されたプロパティよりも優先されます。 ただし、 構成コントロールパネル メニューの システム設定 セクションで確立された設定は、環境変数よりも優先されます。

追加情報

この機能は、ポータルのプロパティを構成するためにのみ使用できます。 .configファイル にあるプロパティは、環境変数を使って変更することはできません。

この追加オプションでLiferayポータルのプロパティを設定すると、Liferayサポート担当者と通信する際に、関連する環境変数も含めておくと良いでしょう。

関連リンク。 JavaとAntの環境変数の設定

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています