設定OSGi configuring-osgi

osgi 是Adobe Experience Manager (AEM)技術棧疊中的基本元素。 它可用來控制AEM的複合套件組合及其設定。

OSGi 」提供標準化的基本概念,允許使用小型、可重複使用的合作元件來建構應用程式。 這些元件可組成應用程式並進行部署「。

如此一來,就能輕鬆地管理套件組合,因為套件組合可以個別停止、安裝和啟動。 系統會自動處理相依性。 每個OSGi元件(請參閱 OSGi規格)包含在多個套件組合中。

您可以透過以下任一方式管理此類套裝的組態設定:

雖然有些細微差異(主要與 執行模式

  • Adobe CQ Web主控台

    • Web控制檯是OSGi設定的標準介面。 它提供用於編輯各種屬性的UI,其中可以從預先定義的清單中選擇可能的值。

      因此,這是最簡單的方法。

    • 使用Web主控台進行的所有設定都會立即套用並適用於目前的執行個體,無論目前的執行模式或後續對執行模式的任何變更為何。

  • 組態檔

    • 包含在Web主控台中定義的設定。
    • 可以包含在內容套件中,以供在其他執行個體上使用。
  • 存放庫中的content-nodes (sling:osgiConfig)

    • 需要使用CRXDE Lite進行手動設定。
    • 由於的命名慣例 sling:OsgiConfig 節點,您可以將設定連結至特定 執行模式. 您甚至可以在同一存放庫中儲存多個執行模式的設定。
    • 任何適當的設定都會立即套用(取決於執行模式)。

無論您使用哪種方法,這些設定方法皆有:

  • 請確定複製或復寫存放庫內容會重新建立相同的設定。
  • 可讓您將組態簽出至FileVault或Subversion;以取得安全性或進一步的更新。
  • 可儲存在套件中,以便在設定其他執行個體時使用。
  • 可讓您使用指令碼執行設定轉出,以傳播設定詳細資訊。
NOTE
某些重要設定的詳細資訊列於 OSGi組態設定。

使用Web主控台進行OSGi設定 osgi-configuration-with-the-web-console

網頁主控台 AEM中提供標準化介面來設定組合。 此 設定 tab可用來設定OSGi組合,因此是設定AEM系統引數的基礎機制。

所做的任何變更會立即套用至相關的OSGi設定,不需要重新啟動。

NOTE
在Web主控台中所做的變更會儲存在存放庫中,做為 組態檔. 這些檔案可包含在內容套件中,以供後續安裝重複使用。
NOTE
在Web主控台上,提及預設設定的任何說明都與Sling預設值有關。
Adobe Experience Manager有自己的預設值,因此設定的預設值可能與主控台上記錄的預設值不同。

若要使用Web主控台更新設定:

  1. 存取 設定 Web Console的索引標籤,方法是:

    • 從上的連結開啟Web主控台 工具>作業 功能表。 登入主控台後,您可以使用下拉式功能表:

      OSGi >

    • 直接URL;例如:

      http://localhost:4502/system/console/configMgr

    隨即顯示清單。

  2. 選取您要透過下列任一方式設定的組合:

    • 按一下 編輯 該套件組合圖示
    • 按一下 名稱 束的
  3. 對話方塊開啟。 您可以視需要在此編輯。 例如,設定 記錄層級INFO

    chlimage_1-140

    note note
    NOTE
    更新會儲存在存放庫中,做為 組態檔. 若要在之後找到這些檔案,以便包含在內容套件中以供其他執行個體使用,例如,記下永久性身分( PID)。
  4. 按一下「儲存」。

    您的變更會立即套用至執行中系統的相關OSGi設定,不需要重新啟動。

    note note
    NOTE
    您現在可以找到相關 組態檔. 例如,將包含在內容套件中以供在其他執行個體上使用。

使用組態檔的OSGi組態 osgi-configuration-with-configuration-files

使用Web主控台進行的組態變更會以組態檔的形式保留在存放庫中( .config)下:

/apps

這些檔案可包含在內容套件中,並可在其他執行個體上重複使用。

NOTE
設定檔案的格式是特定的 — 請參閱Sling Apache檔案以瞭解:
因此,建議您在Web主控台中進行實際變更,以建立和維護設定檔案。

Web主控台不會顯示存放庫中儲存變更的位置,但可以輕鬆找到變更:

  1. 建立組態檔的方法有: 在Web主控台中進行初始變更.

  2. 開啟 CRXDE Lite。

  3. 工具 功能表,選取 查詢…… .

  4. 若要搜尋已更新之設定的PID,請提交 型別 SQL.

    例如, Apache Felix OSGi管理主控台 具有下列的永久性身分(PID):

    org.apache.felix.webconsole.internal.servlet.OsgiManager

    因此,SQL查詢可能是:

    code language-shell
    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

    note caution
    CAUTION
    您可以開啟此檔案來檢視您的變更,但為了避免輸入錯誤,建議使用主控台進行實際的變更。
  6. 您現在可以建立包含此節點的內容套件,並視需要在其他執行個體上使用。

存放庫中的OSGi設定 osgi-configuration-in-the-repository

除了使用Web主控台,您也可以在存放庫中定義設定詳細資訊。 如此可讓您輕鬆設定不同的執行模式。

這些設定是透過建立 sling:OsgiConfig 供系統參考的存放庫中的節點。 這些節點會反映OSGi設定,並在其中形成使用者介面。 若要更新設定資料,請更新節點屬性。

如果您修改存放庫中的設定資料,變更會立即套用至相關的OSGi設定。 就好像變更是使用Web主控台所進行,並透過適當的驗證和一致性檢查。 此工作流程也適用於複製設定來源動作 /libs//apps/.

由於相同的組態引數位於數個位置,因此系統:

  • 搜尋型別為的所有節點 sling:OsgiConfig
  • 根據服務名稱篩選
  • 根據執行模式篩選

新增設定至存放庫 adding-a-new-configuration-to-the-repository

您需要瞭解的事項 what-you-need-to-know

若要將設定新增到存放庫,您必須知道以下內容:

  1. 持續性身分 (PID)的服務。

    參考 設定 欄位。 該名稱會顯示在束名稱后的方括弧中(或在 設定資訊 (朝向頁面底部)。

    例如,建立節點 com.day.cq.wcm.core.impl.VersionManagerImpl. 進行設定 AEM WCM版本管理員.

    chlimage_1-141

  2. 是特定 執行模式 必填? 建立資料夾:

    • config — 適用於所有執行模式
    • config.author — 適用於作者環境
    • config.publish — 適用於發佈環境
    • config.<run-mode> — 視情況而定
  3. 設定工廠設定 需要?

  4. 要設定的個別引數,包括必須重新建立的任何現有引數定義。

    參考Web主控台中的個別引數欄位。 名稱會以方括弧顯示於每個引數。

    例如,建立屬性
    versionmanager.createVersionOnActivation 進行設定 啟動時建立版本.

    chlimage_1-142

  5. 設定是否存在於 /libs? 若要列出執行個體中的所有設定,請使用 查詢 CRXDE Lite工具以提交下列SQL查詢:

    select * from sling:OsgiConfig

    若是如此,此設定可複製到 /apps/<yourProject>/,然後在新位置中自訂。

在存放庫中建立組態 creating-the-configuration-in-the-repository

若要將新設定實際新增至存放庫:

  1. 使用CRXDE Lite來導覽至:

    /apps/<yourProject>

  2. 如果不存在,請建立 config 資料夾( sling:Folder):

    • config — 適用於所有執行模式
    • config.<run-mode> — 特定執行模式專用
  3. 在此資料夾下,建立節點:

    • 類型:sling:OsgiConfig

    • 名稱:永續性身分(PID);

      例如,AEM WCM版本管理員使用 com.day.cq.wcm.core.impl.VersionManagerImpl

    note note
    NOTE
    附加工廠組態時 -<identifier> 至名稱。
    如所示: org.apache.sling.commons.log.LogManager.factory.config-<identifier>
    位置 <identifier> 會以您(必須)輸入以識別例證的自由文字取代(您無法忽略此資訊);例如:
    org.apache.sling.commons.log.LogManager.factory.config-MINE
  4. 針對您要設定的每個引數,在此節點上建立一個屬性:

    • 名稱:引數名稱,如Web主控台中所示;名稱會顯示在欄位說明結尾的方括弧中。 例如, Create Version on Activation 使用 versionmanager.createVersionOnActivation
    • 型別:視情況而定。
    • 值:視需要。

    您只能為您要設定的引數建立屬性,其他使用者仍會採用AEM設定的預設值。

  5. 儲存所有變更。

    透過重新啟動服務來更新節點時,會套用變更(如同Web主控台中所做的變更)。

CAUTION
請勿變更中的任何專案 /libs 路徑。
CAUTION
設定的完整路徑必須正確,才能在啟動時讀取。

設定詳細資料 configuration-details

啟動時的解決順序 resolution-order-at-startup

使用的優先順序如下:

  1. 下的存放庫節點 /apps/*/config....with type sling:OsgiConfig 或屬性檔案。

  2. 具有型別的存放庫節點 sling:OsgiConfig/libs/*/config.... (現成定義)。

  3. 任何 .config 檔案來源 <*cq-installation-dir*>/crx-quickstart/launchpad/config/.... 在本機檔案系統上。

中的一般設定 /libs 可由中的專案特定設定遮罩 /apps.

執行階段的解決順序 resolution-order-at-runtime

系統執行時進行的設定變更會觸發使用修改後的設定重新載入。

然後套用下列優先順序:

  1. 在Web主控台中修改組態會立即生效,因為它在執行階段具有優先權。
  2. 在中修改組態 /apps 立即生效。
  3. 在中修改組態 /libs 會立即生效,除非在下列位置被設定遮罩: /apps.

多重執行模式的解析度 resolution-of-multiple-run-modes

對於執行模式特定的配置,可以組合多個執行模式。 例如,您可以以下列樣式建立組態資料夾:

/apps/*/config.<runmode1>.<runmode2>/

如果所有執行模式都符合啟動時定義的執行模式,則會套用此類資料夾中的設定。

例如,如果執行個體是以執行模式啟動 author,dev,emea,設定中的節點 /apps/*/config.emea/apps/*/config.author.dev/、和 /apps/*/config.author.emea.dev/ 套用,而設定節點位於 /apps/*/config.author.asean//config/author.dev.emea.noldap/ 不會套用。

如果同一PID適用多個設定,則會套用符合執行模式數量最多的設定。

例如,如果執行個體是以執行模式啟動 author,dev,emea,以及兩者 /apps/*/config.author//apps/*/config.emea.author/ 定義設定
com.day.cq.wcm.core.impl.VersionManagerImpl,中的設定 /apps/*/config.emea.author/ 中所有規則的URL區段。

此規則的詳細程度位於PID層級。
您無法在中為相同的PID定義某些屬性 /apps/*/config.author/ 以及中更具體的專案 /apps/*/config.emea.author/ 相同的PID。
符合執行模式數量最多的設定對整個PID有效。

標準設定 standard-configurations

下列清單顯示存放庫中(在標準安裝中)提供的一小部分設定:

  • 作者 — 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

NOTE
因為這些設定位於 /libs 它們不能直接編輯,而是要複製到您的應用程式區域( /apps)。

若要列出執行個體中的所有設定節點,請使用 查詢 CRXDE Lite中用於提交下列SQL查詢的功能:

select * from sling:OsgiConfig

設定持續性 configuration-persistence

  • 如果您透過Web主控台變更設定,則通常會將該設定寫入存放庫:

    /apps/{somewhere}

    • 預設 {somewhere}system/config 因此設定會寫入

      /apps/system/config

    • 不過,如果您要編輯的組態最初來自存放庫中的其他位置,例如:

      /libs/foo/config/someconfig

      然後,更新的設定會寫入原始位置下;例如:

      /apps/foo/config/someconfig

  • 變更的設定 admin 儲存在 *.config 檔案位於:

    code language-none
       /crx-quickstart/launchpad/config
    
    • 此區域是OSGi設定管理員的私人資料,並保留所指定的所有設定詳細資料 admin,無論他們如何進入系統。

    • 此區域是實作詳細資料,您絕不可直接編輯此目錄。

    • 不過,瞭解這些組態檔的位置會很有用,這樣就可以擷取復本進行備份、進行多重安裝,或同時進行兩者:

      • Apache Felix OSGi管理主控台

        ../crx/org/apache/felix/webconsole/internal/servlet/OsgiManager.config

      • CRX Sling使用者端存放庫

        ../com/day/crx/sling/client/impl/CRXSlingClientRepository/<pid-nr>.config

CAUTION
切勿編輯下列資料夾或檔案:
/crx-quickstart/launchpad/config
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2