Show Menu
トピック×

OSGi の設定

OSGi は標準化されたプリミティブを提供し、小さく再利用が可能で連携機能に優れたコンポーネントを組み合わせてアプリケーションを構築することを可能にします。これらのコンポーネントからアプリケーションを作成し、デプロイすることができます。**
これにより、バンドルを個別に停止、インストール、起動できるので、バンドルを簡単に管理できます。相互依存関係は自動的に処理されます。OSGi コンポーネント( OSGi の仕様 を参照)はそれぞれ、様々なバンドルのうちいずれかに含まれています。
これらのバンドルの設定は、次のいずれかの方法で管理できます。
いずれの方法も使用できますが、主に 実行モード に関連して、次のようなわずかな違いがあります。
    • Webコンソールは、OSGi設定の標準インターフェイスです。様々なプロパティを編集するUIが提供され、あらかじめ定義されたリストから可能な値を選択できます。
      そのため、最も使いやすい方法です。
    • Web コンソールでおこなわれた設定は、現在のインスタンスにすぐに適用されます。現在の実行モードや、今後の実行モードの変更には関係ありません。
    • Web コンソールで定義される設定を含みます。
    • 他のインスタンスで使用できるよう、コンテンツパッケージに含めることができます。
    • CRXDE Lite を使用した手動による設定が必要です。
    • ノードの命名規則により、 sling:OsgiConfig 設定を特定の実行モードに関連付けることが できます 。 また、同じリポジトリ内に複数の実行モードの設定を保存することもできます。
    • 適切な設定がすぐに適用されます(実行モードに依存)。
使用するメソッドに関わらず、次のことが可能です。
  • リポジトリのコンテンツをコピーまたはレプリケートすることにより、同一の設定を再作成できます。
  • セキュリティやさらなる更新のために、FileVault または Subversion に設定をチェックアウトできます。
  • パッケージとして保存し、他のインスタンスを設定する際に使用できます。
  • スクリプトを使用して設定の詳細を反映させることにより、設定のロールアウトを実行できます。
特定の重要な設定について詳しくは、 、OSGi 設定 を参照してください。。

Web コンソールでの OSGi 設定

AEM の Web コンソール は、バンドルを設定するための標準化されたインターフェイスを提供します。「 設定 」タブは、OSGi バンドルの設定時に使用します。AEM システムパラメーターを設定するための基盤となるメカニズムです。
おこなった変更は、関連する OSGi 設定にすぐに適用されます。再起動の必要はありません。
Changes made in the web console are saved in the repository as configuration files . このファイルをコンテンツパッケージに含めておき、将来のインストールで再利用することができます。
Web コンソールでは、デフォルト設定に言及している説明はすべて、Sling のデフォルトに関連しています。
Adobe Experience Manager には独自のデフォルト値があり、設定されるデフォルト値は、コンソールに表示される値と異なる場合があります。
Web コンソールで設定を更新するには:
  1. 次のいずれかの方法で、Web コンソールの「 設定 」タブにアクセスします。
    • ツール/運営 ​メニューのリンクから Web コンソールを開きます。コンソールにログインした後、次のドロップダウンメニューを使用できます。
      OSGi >
    • ダイレクトURL;例:
      http://localhost:4502/system/console/configMgr リストが表示されます。
  2. 次のいずれかの方法で、設定するバンドルを選択します。
    • 該当するバンドルの「 編集 」アイコンをクリック
    • 該当するバンドルの​ 名前 ​をクリック
  3. A dialog will open. Here you can edit as required; for example, set the Log Level to INFO :
    更新内容は、 設定ファイル としてリポジトリ内に保存されます。To locate these afterwards, (e.g. to include in a content package for use on another instance) you should make a note of the persistent identity ( PID ).
  4. 保存 」をクリックします。
    変更内容は、関連する OSGi 設定にすぐに適用され、再起動は不要です。
    You can now locate the related configuration file(s) ; for example, to include in a content package for use on another instance.

設定ファイルでの OSGi 設定

Configuration changes made using the Web Console are persisted in the repository as configuration files ( .config ) under:
/apps
これらの設定ファイルをコンテンツパッケージに含めて、他のインスタンスで再利用することができます。
The format of the configuration files are very specific - see the Sling Apache documentation for full details.
そのため、実際の変更は Web コンソールを使用しておこない、設定ファイルが作成、維持されるようにすることをお勧めします。
Web コンソールには、リポジトリのどの場所に変更が保存されたかは表示されませんが、次の手順で簡単に見つけることができます。
  1. Web コンソールで最初の変更をおこなう ことで、設定ファイルを作成します。
  2. CRXDE Lite を開きます。
  3. ツール ​メニューの「 クエリー 」を選択します。
  4. タイプ ​が SQL のクエリーを送信して、更新した設定の PID を検索します。
    例えば、 Apache Felix OSGi Management Console の永続識別子(PID)は次のとおりです。
    org.apache.felix.webconsole.internal.servlet.OsgiManager
    よって、SQL クエリーは次のようになります。
    select * from nt:base where jcr:path like '/apps/%' and contains(*, 'org.apache.felix.webconsole.internal.servlet.OsgiManager')
    
    
  5. 設定ファイルのノードが表示されます。
    上の例では、次のようになります。
    /apps/system/config/org.apache.felix.webconsole.internal.servlet.OsgiManager.config
    このファイルを開くと、変更内容を確認できます。ただし、タイプミスを防ぐために、実際の変更はコンソールでおこなうことをお勧めします。
  6. このノードを含むコンテンツパッケージをビルドしておくと、必要に応じて他のインスタンスで使用できます。

リポジトリでの OSGi 設定

Web コンソールを使用するほかに、リポジトリで設定の詳細を定義することもできます。これにより、様々な実行モードを簡単に設定できます。
これらの設定は、システムが参照す sling:OsgiConfig るためのノードをリポジトリ内に作成することで行われます。 これらのノードはOSGi設定を反映し、OSGi設定に対するユーザーインターフェイスを形成します。 設定データを更新するには、ノードのプロパティを更新します。
リポジトリ内の設定データを変更すると、変更がWebコンソールを使用して行われたかのように、適切な検証と整合性チェックを行って、変更が関連するOSGi設定に直ちに適用されます。 これは、からに設定をコピーする操作にも当てはま /libs/ りま /apps/ す。
同じ設定パラメーターが複数の場所に配置される場合があるので、システムでは次の処理がおこなわれます。
  • searches for all nodes of type sling:OsgiConfig
  • サービス名に従ってフィルター処理
  • 実行モードに従ってフィルター処理

リポジトリへの新しい設定の追加

必要な知識

新しい設定をリポジトリに追加するには、以下を知っておく必要があります。
  1. サー ビスの永続的なID (PID)。
    Webコンソール #フィールドを参照します。 名前は、バンドル名の後ろの角括弧で囲まれて表示されます(ま たは 、ページ下部の「設定情報」に表示されます)。
    例えば、 com.day.cq.wcm.core.impl.VersionManagerImpl. AEM WCM Version Managerを設定するノードを作成します
  2. Whether a specific run mode is required. Create the folder:
    • config — すべての実行モード
    • config.author — 作成者環境用
    • config.publish — パブリッシュ環境用
    • config.<run-mode> — 適宜
  3. Whether a Configuration or Factory Configuration is necessary.
  4. 設定する個々のパラメータ再作成する必要がある既存のパラメーター定義を含めます。
    Webコンソールの個々のパラメータフィールドを参照します。 名前は、各パラメーターに対して角括弧で囲まれて表示されます。
    例えば、プロパティを作成します。 versionmanager.createVersionOnActivation をクリックし て、ActivationでのCreate Versionを設定します
  5. に既に設定が存在しますか /libs ?インスタンス内のすべての設定を一覧表示するには、CRXDE liteの Query ツールを使用して次のSQLクエリを送信します。
    select * from sling:OsgiConfig
    その場合は、この設定をにコピーし、新し /apps/<yourProject>/ い場所でカスタマイズすることができます。

リポジトリでの設定の作成

新しい設定をリポジトリに実際に追加するには:
  1. CRXDE Lite を使用して次の場所に移動します。
    /apps/<yourProject>
  2. If not already existing, create the config folder ( sling:Folder ):
    • config - すべての実行モードに該当
    • config.<run-mode> — 特定の実行モードに固有
  3. このフォルダーの下に、次の設定でノードを作成します。
    • タイプ: sling:OsgiConfig
    • 名前:永続ID(PID);
      例えば、AEM WCM Version Managerで com.day.cq.wcm.core.impl.VersionManagerImpl
    When making a Factory Configuration append -<identifier> to the name.
    例: org.apache.sling.commons.log.LogManager.factory.config-<identifier>
    Where <identifier> is replaced by free text that you (must) enter to identify the instance (you cannot omit this information); for example:
    org.apache.sling.commons.log.LogManager.factory.config-MINE
  4. 設定するパラメーターごとに、このノードでプロパティを作成します。
    • 名前:ウェブコンソールに表示されるパラメータ名名前は、フィールドの説明の末尾に括弧で囲まれて表示されます。 例えば、次を使用し Create Version on Activation ます versionmanager.createVersionOnActivation
    • タイプ:適宜。
    • 値:必要に応じて。 プロパティを作成する必要があるのは、設定対象のパラメーターのみです。その他は、AEM で設定されているデフォルト値を引き続き使用します。
  5. すべての変更を保存します。
    変更は、サービスを再起動することによってノードが更新されるとすぐに適用されます(Web コンソールでおこなった変更と同様)。
You must not change anything in the /libs path.
起動時に設定を読み込むには、設定のフルパスを正しく指定する必要があります。

設定の詳細

起動時の優先順位

次の優先順位を使用します。
  1. Repository nodes under /apps/*/config... .either with type sling:OsgiConfig or property files.
  2. Repository nodes with type sling:OsgiConfig under /libs/*/config... . (標準定義)
  3. から任意 .config のファイルを取得しま <*cq-installation-dir*>/crx-quickstart/launchpad/config/... す。 ローカル・ファイル・システム上に置く。
This means that a generic configuration in /libs can be masked by a project specific configuration in /apps .

実行時の優先順位

システム実行中に設定変更をおこなうと、変更後の設定で再読み込みが開始されます。
その後、次の優先順位が適用されます。
  1. Web コンソールでの設定変更が、実行時に優先されるので、すぐに有効になります。
  2. Modifying a configuration in /apps will take immediate effect.
  3. Modifying a configuration in /libs will take immediate effect, unless it is masked by a configuration in /apps .

複数の実行モードの解決

実行モードに固有の設定に関しては、複数の実行モードを組み合わせることができます。例えば、設定フォルダーを次のスタイルで作成できます。
/apps/*/config.<runmode1>.<runmode2>/
このようなフォルダー内の設定は、起動時に定義されている実行モードにすべての実行モードが一致した場合に適用されます。
For example, if an instance was started with the run modes author,dev,emea , configuration nodes in /apps/*/config.emea , /apps/*/config.author.dev/ and /apps/*/config.author.emea.dev/ will be applied, while configuration nodes in /apps/*/config.author.asean/ and /config/author.dev.emea.noldap/ will not be applied.
同じ PID に複数の設定が該当する場合は、一致する実行モードの数が最も大きい設定が適用されます。
例えば、インスタンスが実行モードで開始され、 author,dev,emea との両方で /apps/*/config.author/ の設 /apps/*/config.emea.author/ 定が com.day.cq.wcm.core.impl.VersionManagerImpl の場合、の設定が /apps/*/config.emea.author/ 適用されます。
このルールの精度はPIDレベルです。 同じPIDに対する一部のプロパティと、同じPIDに対す /apps/*/config.author/ るより具体的なプロパティ /apps/*/config.emea.author/ を定義できません。 一致する実行モードの数が最も多い設定は、PID全体に対して有効です。

標準設定

以下のリストは、リポジトリで使用できる(標準インストールの)設定の一部を示しています。
  • 作成者 — AEM WCMフィルター:
    libs/wcm/core/config.author/com.day.cq.wcm.core.WCMRequestFilter
  • 発行 — AEM WCMフィルター:
    libs/wcm/core/config.publish/com.day.cq.wcm.core.WCMRequestFilter
  • 発行 — AEM WCMページ統計:
    libs/wcm/core/config.publish/com.day.cq.wcm.core.stats.PageViewStatistics
As these configurations reside in /libs they must not be edited directly, but copied to your application area ( /apps ) before customization.
インスタンスに含まれるすべての設定ノードをリストするには、CRXDE Lite の​ クエリ ​機能を使用して、次の SQL クエリを送信します。
select * from sling:OsgiConfig

設定の永続性

  • Webコンソールを使用して設定を変更すると、次の場所にリポジトリに書き込まれます(通常は)。
    /apps/{somewhere}
    • By default {somewhere} is system/config so the configuration is written to
      /apps/system/config
    • ただし、最初にリポジトリの別の場所から取得した設定を編集する場合は、次の手順を実行します。例:
      /libs/foo/config/someconfig
      その後、更新された設定が元の場所に書き込まれ、例:
      /apps/foo/config/someconfig
  • Settings that are changed by admin are saved in *.config files under:
       /crx-quickstart/launchpad/config
    
    
    • これは OSGi 設定管理者の非公開データ領域であり、システムへの入力方法にかかわらず、 admin によって指定された設定の詳細がすべて保持されます。
    • これは実装の詳細であり、このディレクトリをユーザーが直接編集してはいけません。
    • しかし、バックアップや複数インストールのためにコピーを取れるように、これらの設定ファイルの場所を知っておくと便利です。
      • Apache Felix OSGi Management Console
        ../crx/org/apache/felix/webconsole/internal/servlet/OsgiManager.config
      • CRX Slingクライアントリポジトリ
        ../com/day/crx/sling/client/impl/CRXSlingClientRepository/<pid-nr>.config
次の場所にあるフォルダーやファイルは、 決して ​編集しないでください。
/crx-quickstart/launchpad/config