Liferay DXPは、Felix File Installを使用して、新規の構成ファイルまたは更新された構成ファイルのファイルシステムフォルダを監視し、構成管理のFelix OSGiを実装することで、ファイルを使用したモジュールサービスコンポーネントの構成を可能にします。
構成ファイルの操作方法を学習するには、最初にUnderstanding System Configuration Filesを確認してください。
構成ファイルの形式
2つの異なる構成ファイル形式があります。
.cfg
:プロパティとしてString
値のみをサポートする、古いシンプルな形式。.config
:プロパティで文字列、型情報、およびその他の非文字列値をサポートする形式。
Liferay DXPは両方の形式をサポートしていますが、柔軟性と型情報を使用する機能がある.config
ファイルを使用してください。.cfg
ファイルには型情報がないため、String
以外を保存する場合は、プロパティユーティリティクラスを使用してString
を目的の型にキャストする必要があります(かつ、String
ではないプロパティを慎重に文書化する必要があります)。.config
ファイルでは、型情報を許可することにより、この必要がなくなります。以下の記事では、ファイル形式について説明しています。
- Understanding System Configuration Files
- Configuration file (
.config
) syntax - Properties file(
.cfg
) syntax
構成ファイルの命名
構成ファイルを作成する前に、次の手順に従って、コンポーネントに複数のインスタンスを作成できるかどうか、またはコンポーネントがシングルトン用であるかどうかを判断します。
-
コンポーネントのモジュールをまだデプロイしていない場合はデプロイします。
-
Liferay DXPのUIで、[コントロールパネル] → [設定] → *[System Settings]*に移動します。
-
コンポーネントを検索または参照して、コンポーネントの設定を見つけます。
-
コンポーネントの設定ページに*[Configuration Entries]*というセクションがある場合は、構成したコンポーネントに複数のインスタンスを自由に作成できます。それ以外の場合は、コンポーネントをシングルトンとして扱う必要があります。
すべての構成ファイル名は、コンポーネントのPID(PIDは永続IDの略)で始まり、.config
または.cfg
で終わる必要があります。
たとえば、次のクラスはDeclarative Servicesを使用してコンポーネントを定義します。
package com;
@Component
class Foo {}
コンポーネントのPIDはcom.Foo
です。すべてのコンポーネントの構成ファイルは、PID com.Foo
で始まる必要があります。
構成を使用して作成または更新するシングルトン以外のコンポーネントインスタンスごとに、コンポーネントのPIDで始まり.config
または.cfg
で終わる一意の名前の構成ファイルを使用する必要があります。複数のコンポーネントインスタンスの構成を作成するには、構成ファイルで異なるサブネームを使用する必要があります。サブネームは構成ファイル名の一部で、PIDの後、サフィックス.config
または.cfg
の前に来ます。シングルトン以外のコンポーネントの構成ファイル名のパターンは次のとおりです。
[PID]-[subname1].config
[PID]-[subname2].config
- 等々。
たとえば、次の名前の構成ファイルを使用して、コンポーネントcom.Foo
の2つの異なるインスタンスを構成できます。
com.Foo-one.config
com.Foo-two.config
各構成ファイルは、PIDに一致するコンポーネントのインスタンスを作成または更新します。サブネームは任意です。特定のコンポーネントインスタンスと一致する必要はありません。任意のサブネームを使用できます。たとえば、次の構成ファイルは上記の2つと同様に有効です。
com.Foo-puppies.config
com.Foo-kitties.config
ただし、Liferay DXPの規則として、コンポーネントの最初のインスタンスを構成する場合は、サブネームdefault
を使用します。したがって、ファイル名のパターンは次のとおりです。
[PID]-default.config
シングルトンコンポーネントの構成ファイルも[PID]
で始まり、.config
または.cfg
で終わる必要があります。シングルトンコンポーネントの構成ファイル名に使用される一般的なパターンは次のとおりです。
[PID].config
構成ファイルの作成が完了したら、デプロイできます。
構成ファイルのデプロイエラーの解決
次のIOException
は、構成ファイルに構文の問題があることを示唆しています。
Failed to install artifact: [path to .config or .cfg file]
java.io.IOException: Unexpected token 78; expected: 61 (line=0, pos=107)
解決するには、構成ファイルの構文を修正します。
これで、構成ファイルを使用してモジュールコンポーネントを構成する方法がわかりました。