この記事では、環境変数を使用してLiferay DXP 7.0内でポータルのプロパティを設定する方法を説明し、より柔軟でクラウドネイティブなアプローチを実現します。
環境変数を使用してDXP 7.0を設定すると、環境固有のポータルプロパティを設定する別のオプションがあります。 このオプションは、Dockerコンテナのようなコンテナベースの環境で作業する場合に一般的に使用されます。
目次
決議
必要条件
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=true
LIFERAY_SETUP_PERIOD_WIZARD_PERIOD_ENABLED =true
どのように機能するのか。
- 一般命名規約の項に記載されているガイドラインを満たしていること。
- 名前は接頭辞から始まります。
LIFERAY_
です。 - 定数名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
。
どのように機能するのか。
- 一般命名規則 の項に記載されているガイドラインを満たす名称です。
- 名前は接頭辞から始まります。
LIFERAY_
です。 - 定数名PERIODは、次のように宣言されて使用されます。
_PERIOD_
と宣言されています。 driverClassName
の部分には大文字が含まれています。- 定数名
UPPER_CASE_C
として宣言されて使用されます。_UPPERCASEC_
として宣言されて使用されます。 -
定数名
UPPER_CASE_N
として宣言されて使用されます。_UPPERCASEN_
として宣言されて使用されます。
- 定数名
-
[mysql]
の部分には括弧が含まれています。-
定数名
OPEN_BRACKET
として宣言されて使用されます。_OPENBRACKET_
として宣言されて使用されます。 -
定数名
CLOSE_BRACKET
としてd を_CLOSEBRACKET_
と宣言して使用します。
-
LNC: Unicodeコードポイントの使用
特殊なエンコーディングに Unicode コードポイント値を用いることはオプションですが、定数名オプションを用いるよりも可読性が低くなります。 Unicodeコードポイント値の参照表は、ここにあります。 Unicode表
Unicodeコードポイント値を使用するためには、環境変数名のガイドラインにも従わなければなりません。
- コードポイントは10進数で表現する必要があります。
- コードポイントは、'
_
' のラップされたペアを使って宣言しなければなりません。
例1:シンプルなポータルプロパティ
- ポータル・プロパティ。
setup.wizard.enabled=false
。 - 環境変数。
LIFERAY_SETUP_46_WIZARD_46_ENABLED=true
どのように機能するのか。
- 一般命名規約の項に記載されているガイドラインを満たしていること。
- 名前は接頭辞から始まります。
LIFERAY_
です。 - '.' は 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
です。
どのように機能するのか。
- 一般命名規約の項に記載されているガイドラインを満たしていること。
- 名前は接頭辞から始まります。
LIFERAY_
です。 -
'.' は Unicode コードポイント '46' で表現されており、次のように宣言されています。
_46_
として宣言されています。 driverClassName
の部分には大文字が含まれています。-
大文字 'C' は Unicode コードポイント '67' で表現されており、次のように宣言されています。
_67_
として宣言されています。 -
大文字 'N' は Unicode コードポイント '78' で表現されており、次のように宣言されています。
_78_
として宣言されています。
-
-
[mysql]
の部分には括弧が含まれています。-
'[' は Unicode コードポイント '91' で表現されており、次のように宣言されています。
_91_
として宣言されています。 -
']' は Unicode コードポイント '93' で表現されており、次のように宣言されています。
_93_
として宣言されています。
-
優先順位を上書きする
OS 環境変数で設定されたプロパティは、portal-ext、setup-wizard、patched、developer プロパティファイルで設定されたプロパティよりも優先されます。 ただし、 構成コントロールパネル メニューの システム設定 セクションで確立された設定は、環境変数よりも優先されます。
追加情報
この機能は、ポータルのプロパティを構成するためにのみ使用できます。 .configファイル
にあるプロパティは、環境変数を使って変更することはできません。
この追加オプションでLiferayポータルのプロパティを設定すると、Liferayサポート担当者と通信する際に、関連する環境変数も含めておくと良いでしょう。
関連リンク。 JavaとAntの環境変数の設定