ファイルを使用したモジュールコンポーネントの構成

Liferay DXPは、Felix File Installを使用して、新規の構成ファイルまたは更新された構成ファイルのファイルシステムフォルダを監視し、構成管理Felix OSGiを実装することで、ファイルを使用したモジュールサービスコンポーネントの構成を可能にします。

構成ファイルの操作方法を学習するには、最初にUnderstanding System Configuration Filesを確認してください。

構成ファイルの形式

2つの異なる構成ファイル形式があります。

  • .cfg:プロパティとしてString値のみをサポートする、古いシンプルな形式。
  • .config:プロパティで文字列、型情報、およびその他の非文字列値をサポートする形式。

Liferay DXPは両方の形式をサポートしていますが、柔軟性と型情報を使用する機能がある.configファイルを使用してください。.cfgファイルには型情報がないため、String以外を保存する場合は、プロパティユーティリティクラスを使用してStringを目的の型にキャストする必要があります(かつ、Stringではないプロパティを慎重に文書化する必要があります)。.configファイルでは、型情報を許可することにより、この必要がなくなります。以下の記事では、ファイル形式について説明しています。

構成ファイルの命名

構成ファイルを作成する前に、次の手順に従って、コンポーネントに複数のインスタンスを作成できるかどうか、またはコンポーネントがシングルトン用であるかどうかを判断します。

  1. コンポーネントのモジュールをまだデプロイしていない場合はデプロイします。

  2. Liferay DXPのUIで、[コントロールパネル][設定] → *[System Settings]*に移動します。

  3. コンポーネントを検索または参照して、コンポーネントの設定を見つけます。

  4. コンポーネントの設定ページに*[Configuration Entries]*というセクションがある場合は、構成したコンポーネントに複数のインスタンスを自由に作成できます。それ以外の場合は、コンポーネントをシングルトンとして扱う必要があります。

図1: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)

解決するには、構成ファイルの構文を修正します。

これで、構成ファイルを使用してモジュールコンポーネントを構成する方法がわかりました。

関連記事

Understanding System Configuration Files

« 未解決のOSGiコンポーネントの検出OSGiサービスを使用する非OSGiコードの呼び出し »
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています