配置監視的資料夾端點

管理員可以配置網路資料夾(稱為​watched資料夾),這樣當用戶將檔案(如PDF檔案)放入監視資料夾時,就會調用配置的服務操作並操作該檔案。 服務執行指定操作後,會將修改的檔案保存在指定的輸出資料夾中。

配置監視資料夾服務

配置監看資料夾端點之前,請配置「監看資料夾」服務。 Watched資料夾服務的設定參數有兩個用途:

  • 配置所有觀看資料夾端點的共同屬性
  • 為所有監視的資料夾端點提供預設值

設定「觀看資料夾」服務後,您會為目標服務新增「觀看資料夾」端點。 添加端點時,可以設定值(如服務名和操作名),以在檔案或資料夾置於配置的「監視資料夾」服務的輸入資料夾中時調用。 有關配置「觀看資料夾」服務的詳細資訊,請參閱「觀看資料夾服務設定」

建立已觀看的資料夾

您可以透過下列兩種方式建立已監看的資料夾:

  • 配置監看資料夾終結點的設定時,在「路徑」框中鍵入父目錄的完整路徑,並附加要建立的監看資料夾的名稱,如本示例所示:
      C:\MyPDFs\MyWatchedFolder由於MyWatchedFolder資料夾尚不存在,AEM表單會嘗試在該位置建立它。

  • 在配置監看資料夾端點之前,在檔案系統上建立資料夾,然後在「路徑」框中鍵入完整路徑。

在群集環境中,將用作監視資料夾的資料夾必須在檔案系統或網路上可訪問、可寫和共用。 在此情況下,群集的每個應用程式伺服器實例都必須具有對同一共用資料夾的訪問權限。

在Windows中,如果應用程式伺服器以服務形式運行,則必須以以下方式之一以適當訪問共用資料夾的方式啟動它:

  • 將應用程式伺服器服務「登錄為​參數」配置為以具有對共用觀看資料夾的適當訪問權限的特定用戶的身份啟動。
  • 將應用程式伺服器服務「啟動為本地系統」選項配置為允許服務與案頭交互。 此選項要求共用的已監視資料夾可供所有人訪問和寫入。

將監視的資料夾連結在一起

監視資料夾可以連結在一起,這樣一個監視資料夾的結果文檔就是下一個監視資料夾的輸入文檔。 每個已觀看的資料夾都可叫用不同的服務。 以此方式配置受監視的資料夾,可以叫用多個服務。 例如,一個觀看的資料夾可將PDF檔案轉換為Adobe PostScript®,而另一個觀看的資料夾可將PostScript檔案轉換為PDF/A格式。 要執行此操作,只需將第一個端點定義的觀看資料夾的​result​資料夾設定為指向第二個端點定義的觀看資料夾的​input​資料夾。

第一次轉換的輸出將轉至\path\result。 第二次轉換的輸入為\path\result,第二次轉換的輸出將轉至\path\result\result (或您在第二次轉換的「結果資料夾」方塊中定義的目錄)。

使用者如何與已觀看的資料夾互動

對於觀看資料夾端點,使用者可以複製輸入檔案或資料夾,或將其從案頭拖曳至觀看資料夾,借此叫用。 系統會依檔案到達的順序處理檔案。

對於監看資料夾端點,如果作業僅需要一個輸入檔案,則用戶可將該檔案複製到監看資料夾的根目錄。

如果作業包含多個輸入檔案,則用戶必須在包含所有必需檔案的監視資料夾層次結構之外建立資料夾。 此新資料夾應包含輸入檔案(若處理程式需要,還可選擇使用DDX檔案)。 建立作業資料夾後,使用者會將其複製到監看資料夾的輸入資料夾中。

注意

請確定應用程式伺服器已刪除對已監視資料夾中檔案的存取權。 如果AEM表單在掃描後無法從輸入資料夾中刪除檔案,則會無限期叫用相關程式。

監看資料夾輸出

當輸入是資料夾且輸出包含多個檔案時,AEM Forms將建立一個與輸入資料夾同名的輸出資料夾,並將輸出檔案複製到該資料夾中。 當輸出包含包含鍵值對的文檔映射時(如輸出進程的輸出),鍵將用作輸出檔案名。

端點進程產生的輸出檔案名不能包含字母、數字和句點(.)以外的字元 在副檔名之前。 AEM表單會將其他字元轉換為十六進位值。

客戶端應用程式從監視的資料夾結果資料夾中提取結果文檔。 進程錯誤記錄在監看的資料夾失敗資料夾中。

監看資料夾如何運作

「已觀看資料夾」模組包含下列服務:

  • 觀看的資料夾服務
  • provider.file_scan_service
  • provider.file_write_results_service

除了上述服務外,「觀看資料夾」還取決於其他服務,包括調度作業的調度程式服務和支援非同步調用目標服務的作業管理器服務。

Watched Folder如何處理調用請求

Watched Folder服務會處理端點的建立、更新和刪除。 管理員建立端點後,會根據指定的重複間隔或cron運算式,排程由排程器服務觸發這些端點。

此圖表說明Watched Folder如何處理調用請求。

en_watchedfolder

使用觀看資料夾叫用服務的程式如下:

  1. 客戶端應用程式將檔案或資料夾置於監視的資料夾輸入資料夾中。

  2. 當作業掃描間隔發生時,調度程式服務將調用provider.file_scan_service以處理輸入資料夾中的檔案或資料夾。

  3. provider.file_scan_service執行以下任務:

    • 掃描輸入資料夾中與包含檔案模式匹配的檔案或資料夾,並排除指定的排除檔案模式的檔案或資料夾。 系統會先擷取最舊的檔案或資料夾。 也會擷取早於等待時間的檔案和資料夾。 在一次掃描中,要處理的檔案或資料夾數量取決於批處理大小。 有關檔案模式的資訊,請參閱關於檔案模式。 有關設定批大小的資訊,請參閱Watched資料夾服務設定
    • 擷取檔案或資料夾以進行處理。 如果檔案或資料夾未完全下載,則在下次掃描中會擷取它們。 為確保資料夾已完全下載,管理員應使用排除檔案模式建立名稱為的資料夾。 資料夾具有所有檔案後,必須將其重新命名為包含檔案模式中指定的模式。 此步驟可確保資料夾具有叫用服務所需的所有必要檔案。 有關確保資料夾完全下載的詳細資訊,請參閱觀看資料夾的提示和秘訣
    • 在選擇檔案或資料夾進行處理後,將它們移動到舞台資料夾。
    • 根據端點輸入參數映射將階段資料夾中的檔案或資料夾轉換為相應的輸入。 如需輸入參數對應的範例,請參閱觀看資料夾的提示與秘訣
  4. 為端點配置的目標服務將同步或非同步調用。 使用為端點配置的用戶名和密碼調用目標服務。

    • 同步調用直接調用目標服務並立即處理響應。
    • 對於非同步調用,目標服務會透過作業管理員服務進行呼叫,該服務會將請求置於佇列中。 作業管理器服務則調用provider.file_write_results_service來處理結果。
  5. provider.file_write_results_service處理目標服務調用的響應或失敗。 成功後,會根據端點配置將輸出保存到結果資料夾。 如果將端點配置為在成功完成時保留結果,則provider.file_write_results_service也會保留源。

    當調用目標服務導致失敗時,provider.file_write_results_service會將失敗原因記錄在failure.log檔案中,並將該檔案放入failure資料夾中。 根據為端點指定的配置參數建立故障資料夾。 當管理員為端點配置設定「保留失敗時」選項時,provider.file_write_results_service也會將源檔案複製到故障資料夾中。 有關從故障資料夾恢復檔案的資訊,請參閱故障點和恢復

已監看資料夾端點設定

使用下列設定來配置監看的資料夾端點。

名稱: (必要)識別端點。請勿包含<字元,因為它會截斷工作區中顯示的名稱。 如果您輸入URL作為端點的名稱,請確保它符合RFC1738中指定的語法規則。

說明: 端點的說明。請勿包含<字元,因為它會截斷工作區中顯示的說明。

路徑: (必要)指定已監看的資料夾位置。在群集環境中,此設定必須指向可從群集中的每台電腦訪問的共用網路資料夾。

非同步: 將呼叫類型識別為非同步或同步。預設值為非同步。 對於長期進程,建議使用非同步,而對於暫時進程或短期進程,建議使用同步。

Cron運算式: 如果必須使用cron運算式排程已觀看的資料夾,請輸入cron運算式。設定此設定時,會忽略重複間隔。

重複間隔: 掃描觀看的資料夾以進行輸入的間隔(秒)。除非啟用「限制」設定,否則「重複間隔」應長於處理平均作業的時間;否則,系統可能會變得過載。 預設值為 5。如需詳細資訊,請參閱批次大小說明。

重複計數: 觀看的資料夾掃描資料夾或目錄的次數。值–1表示掃描不確定。 預設值為–1。

限制: 選取此選項時,會限制AEM表單在任何指定時間處理的已觀看資料夾作業數量。作業的最大數量由批大小值確定。 (請參閱關於限制。)

使用者名稱: (必要)從已觀看的資料夾叫用目標服務時所使用的使用者名稱。預設值為SuperAdmin。

網域名稱: (必要)使用者的網域。預設值為DefaultDom。

批大小: 每次掃描要擷取的檔案或資料夾數量。用於防止系統過載;一次掃描太多檔案可能會造成當機。 預設值為 2。

「重複間隔」和「批次大小」設定決定「監看資料夾」在每次掃描中擷取的檔案數。 「監視資料夾」使用Quartz線程池掃描輸入資料夾。 線程池與其他服務共用。 如果掃描間隔較小,線程將經常掃描輸入資料夾。 如果檔案經常被拖放到監看的資料夾中,則應將掃描間隔保持在較小。 如果檔案不常被刪除,請使用較大的掃描間隔,以便其他服務可以使用線程。

如果要刪除的檔案量很大,請使批處理大小較大。 例如,如果受監視資料夾端點調用的服務每分鐘可處理700個檔案,並且用戶以相同的速率將檔案拖放到輸入資料夾中,則將「批大小」設定為350,將「重複間隔」設定為30秒,將有助於「受監視資料夾」的效能,而不會導致掃描受監視資料夾的成本過多。

將檔案放入觀看的資料夾時,會列出輸入中的檔案,如果每秒都進行掃描,會降低效能。 增加掃描間隔可以提高效能。 如果要丟棄的檔案量較小,請相應調整「批大小」和「重複間隔」。 例如,如果每秒丟棄10個檔案,請嘗試將「重複間隔」設定為1秒,將「批大小」設定為10。

等待時間: 建立資料夾或檔案後,在掃描該資料夾或檔案之前等待的時間(以毫秒為單位)。例如,如果等待時間為3,600,000毫秒(一小時),而檔案是在一分鐘前建立的,則此檔案將在59分鐘或更長時間過後擷取。 預設值為 0。

此設定對於確保將檔案或資料夾完全複製到輸入資料夾非常有用。 例如,若您有要處理的大型檔案,且該檔案需要10分鐘才能下載,請將等待時間設為10&ast;60&ast;1000毫秒。 如果檔案未保存10分鐘,則禁止監視的資料夾掃描該檔案。

排除檔案模式: 分號 ;分 隔的模式清單,監看的資料夾會使用這些模式來判斷要掃描和擷取的檔案和資料夾。不會掃描任何具有此模式的檔案或資料夾以進行處理。

如果輸入是包含多個檔案的資料夾,此設定就十分實用。 資料夾的內容可複製到資料夾中,而資料夾的名稱將被觀看的資料夾擷取。 這樣,在資料夾完全複製到輸入資料夾之前,監視的資料夾就無法擷取資料夾以進行處理。

您可以使用檔案模式來排除:

  • 具有特定副檔名的檔案;例如,&ast;.dat、&ast;.xml、&ast;.pdf。

  • 具有特定名稱的檔案;例如,資料。&ast;會排除名為​data1data2​的檔案和資料夾,依此類推。

  • 名稱和副檔名中包含複合運算式的檔案,如下列範例所示:

    • Data[0-9][0-9][0-9]。[dD][aA]'port'
    • &ast;。[dD][Aa]'port'
    • &ast;。[Xx][Mm][Ll]

有關檔案模式的詳細資訊,請參閱關於檔案模式

包含檔案模式: (必要)分號;分隔 ​的模式清單,觀看的資料夾用來決定要掃描和擷取的資料夾和檔案。例如,如果「包含檔案模式」為input&ast;,則所有符合input&ast的檔案和資料夾;被撿起。 這包括名為input1、input2等的檔案和資料夾。

預設值為&ast;並指示所有檔案和資料夾。

您可以使用檔案模式來包括:

  • 具有特定副檔名的檔案;例如,&ast;.dat、&ast;.xml、&ast;.pdf。

  • 具有特定名稱的檔案;例如,資料。&ast;會包含名為​data1data2​的檔案和資料夾,以此類推。

  • 名稱和副檔名中包含複合運算式的檔案,如下列範例所示:

    • Data[0-9][0-9][0-9]。[dD][aA]'port'
    • &ast;。[dD][Aa]'port'
    • &ast;。[Xx][Mm][Ll]

有關檔案模式的詳細資訊,請參閱關於檔案模式

結果資料夾: 儲存結果的資料夾。如果結果未出現在此資料夾中,請檢查失敗資料夾。 不會處理唯讀檔案,且會儲存在失敗資料夾中。 此值可以是具有下列檔案模式的絕對或相對路徑:

  • %F =檔案名首碼
  • %E =副檔名
  • %Y =年(已滿)
  • %y =年(最後兩位)
  • %M =月
  • %D =月中的第幾天
  • %d =年
  • %H =小時(24小時時鐘)
  • %h =小時(12小時時鐘)
  • %m =分鐘
  • %s =秒
  • %l =毫秒
  • %R =隨機數(介於0到9之間)
  • %P =進程或作業ID

例如,如果2009年7月17日晚上8點,而您指定了C:/Test/WF0/failure/%Y/%M/%D/%H/,則結果資料夾為C:/Test/WF0/failure/2009/07/17/20

如果路徑不是絕對路徑,而是相對路徑,則會在觀看的資料夾內建立資料夾。 預設值為result/%Y/%M/%D/,即監視資料夾內的「結果」資料夾。 有關檔案模式的詳細資訊,請參閱關於檔案模式

注意

結果資料夾的大小越小,「觀看的資料夾」效能就越好。 例如,如果監看資料夾的預計負載每小時為1000個檔案,請嘗試類似result/%Y%M%D%H的模式,以便每小時建立一個新子資料夾。 如果載入較小(例如,每天1000個檔案),您可以使用result/%Y%M%D之類的模式。

保留資料夾: 成功掃描和拾取後檔案的儲存位置。路徑可以是絕對、相對或空目錄路徑。 可以使用檔案模式,如「結果資料夾」中所述。 預設值為preserve/%Y/%M/%D/。

失敗資料夾: 儲存失敗檔案的資料夾。此位置一律與已觀看的資料夾相對。 可以使用檔案模式,如「結果資料夾」中所述。

不會處理唯讀檔案,且會儲存在失敗資料夾中。

預設值為failure/%Y/%M/%D/。

保留失敗時: 如果無法對服務執行操作,則保留輸入檔案。預設值為true。

覆寫重複檔案名: 設為True時,會覆寫結果資料夾和保留資料夾中的檔案。設為False時,名稱使用帶有數值索引尾碼的檔案和資料夾。 預設值為False。

清除持續時間: (必要)結果資料夾中的檔案和資料夾如果早於此值,則會清除這些檔案和資料夾。此值以天計量。 此設定有助於確保結果資料夾不會填滿。

值為–1天表示絕不刪除結果資料夾。 預設值為–1。

操作名稱: (必要)可指派給監看資料夾端點的操作清單。

輸入參數對應: 用來設定處理服務和操作所需的輸入。可用的設定取決於使用觀看資料夾端點的服務。 以下是兩種輸入:

常值: 觀看的資料夾會使用在顯示時輸入的欄位值。支援所有基本Java類型。 例如,如果API使用String、long、int和Boolean等輸入,則字串會轉換為適當的類型,並叫用服務。

變數: 輸入的值是監看資料夾用來挑選輸入的檔案模式。例如,在加密密碼服務中,輸入文檔必須是PDF檔案,用戶可以使用&ast;.pdf作為檔案模式。 監視資料夾將提取監視資料夾中符合此模式的所有檔案,並為每個檔案調用服務。 使用變數時,所有輸入檔案都會轉換為檔案。 僅支援使用檔案作為輸入類型的API。

輸出參數對應: 用來設定服務和操作的輸出。可用的設定取決於使用觀看資料夾端點的服務。

「監看的資料夾」輸出可以是單個文檔、文檔清單或文檔地圖。 然後,使用輸出參數映射中指定的模式將這些輸出文檔保存到結果資料夾中。

注意

指定導致唯一輸出檔案名的名稱可提高效能。 例如,請考慮服務返回一個輸出文檔,且輸出參數映射將其映射到%F.%E(輸入檔案的檔案名和副檔名)的情況。 在此情況下,如果用戶每分鐘放置具有相同名稱的檔案,且結果資料夾配置為result/%Y/%M/%D,且「覆蓋重複檔案名」設定關閉,則「監視的資料夾」將嘗試解析重複的檔案名。 解析重複檔案名的過程可能會影響效能。 在此情況下,將「輸出參數映射」更改為%F_%h_%m_%s_%l以向名稱添加小時、分鐘、秒和毫秒,或者確保刪除的檔案具有唯一的名稱可能會提高效能。

關於檔案模式

管理員可以指定可叫用服務的檔案類型。 可為每個觀看的資料夾建立多個檔案模式。 檔案模式可以是下列檔案屬性之一:

  • 具有特定檔案名副檔名的檔案;例如&ast;.dat, &ast;.xml,&ast;.pdf,;

  • 具有特定名稱的檔案;例如,資料。&ast;

  • 名稱和副檔名中包含複合運算式的檔案,如下列範例所示:

    • Data[0-9][0-9][0-9]。[dD][aA]'port'
    • &ast;。[dD][Aa]'port'
    • &ast;。[Xx][Mm][Ll]

管理員可以定義要儲存結果的輸出資料夾的檔案模式。 對於輸出資料夾(結果、保留和失敗),管理員可以指定以下任一檔案模式:

  • %Y =年(已滿)
  • %y =年(最後兩位)
  • %M =月,
  • %D =月中的第幾天,
  • %d =年,
  • %h =小時,
  • %m =分鐘,
  • %s =秒,
  • %R = 0-9之間的隨機數
  • %J =作業名稱

例如,結果資料夾的路徑可能是C:\Adobe\Adobe_Experience_Manager_forms\BarcodedForms\%y\%m\%d

輸出參數映射也可以指定其他模式,例如:

  • %F =源檔案名
  • %E =源檔案名副檔名

如果輸出參數映射模式以「File.separator」(路徑分隔符)結尾,則會建立資料夾並將內容複製到該資料夾中。 如果模式的結尾不是「File.separator」,則會以該名稱建立內容(結果檔案或資料夾)。 如需有關輸出參數映射的詳細資訊,請參閱觀看資料夾的提示和秘訣

關於節流

為監看資料夾端點啟用限制時,它會限制在任何指定時間可處理的監視資料夾作業數量。 作業的最大數量由「批大小」值確定,也可在「監視資料夾」端點中配置。 達到限制限制時,將不會輪詢監視資料夾輸入目錄中的傳入文檔。 在其他已監視的資料夾作業完成並進行另一輪輪詢嘗試之前,文檔還將保留在輸入目錄中。 在同步處理的情況下,即使在單個線程中連續處理作業,在單個輪詢中處理的所有作業都將計入限制。

注意

限制不會隨群集擴展。 啟用限制時,群集作為一個整體在任何給定時間處理的作業數都不超過批大小中指定的作業數。 此限制為群集範圍,不特定於群集中的每個節點。 例如,批大小為2時,單個節點處理兩個作業時可以達到限制限制,在完成其中一個作業之前,其他節點不會輪詢輸入目錄。

節流如何工作

「監視的資料夾」在每個重複間隔掃描輸入資料夾,提取批大小中指定的檔案數,並為每個檔案調用目標服務。 例如,如果批大小為4,則在每次掃描時,「監看資料夾」將拾取4個檔案、建立4個調用請求,並調用目標服務。 在完成這些請求之前,如果調用了「監視的資料夾」,則無論前四個作業是否完成,它都將再次啟動四個作業。

當前的作業未完成時,限制阻止「監視的資料夾」調用新作業。 「監看的資料夾」將根據批次大小減去進行中的作業來偵測進行中的作業,並處理新作業。 例如,在第二個調用中,如果已完成的作業數僅為三個,並且一個作業仍在進行中,則「監視的資料夾」僅調用另外三個作業。

  • 「觀看的資料夾」依賴於階段資料夾中存在的檔案數,以找出正在進行的作業數。 如果檔案在階段資料夾中仍未處理,則「監看資料夾」將不會調用任何更多作業。 例如,如果批處理大小為4個且已停止3個作業,則「監視資料夾」在後續調用中將僅調用一個作業。 有多種情況會導致檔案在階段資料夾中保持未處理。 作業停止時,管理員可以終止表單工作流程管理頁面上的程式,以便「觀看的資料夾」將檔案移出預備資料夾。
  • 如果表單伺服器在「監看資料夾」可以調用作業之前關閉,則管理員可以將檔案移出舞台資料夾。 有關資訊,請參閱故障點和恢復
  • 如果表單伺服器正在運行,但當作業管理器服務回叫時(服務未按順序啟動時),監視資料夾未運行,則管理員可以將檔案移出舞台資料夾。 有關資訊,請參閱故障點和恢復

效能和可擴充性

「觀看的資料夾」可在單一節點上共提供100個資料夾。 「觀看的資料夾」的效能取決於表單伺服器的效能。 對於非同步調用,效能更取決於作業管理器隊列中的系統負載和作業。

向叢集新增節點,可改善「監看資料夾」的效能。 通過Quartz調度程式和非同步請求時通過作業管理器服務在群集節點間分配觀看的資料夾作業。 所有作業都保存在資料庫中。

「監看資料夾」取決於調度程式服務,用於調度、取消調度和重新計畫作業。 其他服務(如事件管理服務、用戶管理器服務和電子郵件提供程式服務)可共用調度程式服務線程池。 這會影響「已監看資料夾」的效能。 當所有服務開始使用調度程式服務線程池時,將需要調整該調度程式服務線程池。

在群集中監視資料夾

在群集中,Watched Folder取決於Quartz調度程式和作業管理器服務,以實現負載平衡和故障切換。 有關石英簇行為的詳細資訊,請參見Quartz文檔

「已觀看資料夾」在每次輪詢中執行以下三項主要任務:

  • 掃描資料夾
  • 叫用目標服務
  • 處理結果

負載平衡和故障轉移行為會根據監視的資料夾配置為同步還是非同步調用而改變。

群集中的同步監視資料夾

對於同步調用,Quartz負載平衡器將決定哪個節點將獲取輪詢事件。 獲取輪詢事件的節點將執行所有任務:掃描資料夾、調用目標服務並處理結果。

en_synchwatchedfoldercluster

對於同步調用,當一個節點失敗時,Quartz調度程式會向其他節點發送新的輪詢事件。 在失敗節點上啟動的調用將丟失。 有關如何恢復與失敗作業關聯的檔案的詳細資訊,請參閱故障點和恢復

叢集中的非同步監看資料夾

對於非同步調用,Quartz負載平衡器將決定哪個節點將獲取輪詢事件。 獲取輪詢事件的節點將掃描輸入資料夾,並將請求放在作業管理器服務隊列中以調用目標服務。 作業管理器服務負載平衡器則負責決定要處理調用請求的節點。 即使節點A建立了調用請求,節點B最終仍可能處理該請求。 或者,啟動調用請求的節點也可能最終處理該請求。

en_asynchwatchedfoldercluster

對於非同步調用,當一個節點失敗時,Quartz調度程式會向其他節點發送新的輪詢事件。 在失敗節點上建立的調用請求將位於作業管理器服務隊列中,並將發送到其他節點進行處理。 未建立調用請求的檔案將保留在階段資料夾中。 有關如何恢復與失敗作業關聯的檔案的詳細資訊,請參閱故障點和恢復

故障點和恢復

在每個民調問答事件中,「觀看的資料夾」都會鎖定輸入資料夾、將符合包含檔案模式的檔案移動到階段資料夾,然後解鎖輸入資料夾。 需要鎖定,這樣兩個線程就不會提取同一組檔案並處理兩次。 發生此情況的機率會隨著小重複間隔和大批次大小而增加。 將檔案移到舞台資料夾後,輸入資料夾將解除鎖定,以便其他線程可以掃描資料夾。 此步驟有助於提供高吞吐量,因為其他線程可以在一個線程處理檔案時掃描。

將檔案移到階段資料夾後,會為每個檔案建立調用請求,並調用目標服務。 有時候,「監視的資料夾」無法恢復階段資料夾中的檔案:

  • 如果伺服器在「監視的資料夾」可以建立調用請求之前關閉,則階段資料夾中的檔案將保留在階段資料夾中,並且無法恢復。
  • 如果「監視的資料夾」已成功建立階段資料夾中每個檔案的調用請求,並且伺服器崩潰,則基於調用類型有兩種行為:

同步: 如果將「監看資料夾」配置為同步調用服務,則舞台資料夾中的所有檔案在舞台資料夾中將保持未處理狀態。

非同步: 在此情況下,「觀看的資料夾」需仰賴「工作管理員」服務。如果作業管理器服務回叫「監看資料夾」,則階段資料夾中的檔案會根據調用的結果移動到「保留」或「失敗」資料夾。 如果作業管理器服務未回叫「已監看資料夾」,則檔案在預備資料夾中將保留未處理。 當工作管理員回呼時,「已監看資料夾」未執行時,就會發生此情況。

在階段資料夾中恢復未處理的源檔案

當「監看資料夾」無法處理階段資料夾中的源檔案時,您可以恢復未處理的檔案。

  1. 重新啟動應用程式伺服器或節點。

  2. (可選)停止「觀看的資料夾」處理新的輸入檔案。 如果跳過此步驟,將更難以確定哪些檔案在舞台資料夾中未處理。 要阻止「監視的資料夾」處理新的輸入檔案,請執行以下任一操作:

    • 在「應用程式和服務」中,將監看資料夾端點的「包含檔案模式」參數更改為與任何新輸入檔案不匹配的參數(例如,輸入NOMATCH)。
    • 暫停建立新輸入檔案的過程。

    等到AEM表單恢復並處理所有檔案。 大多數檔案應被恢復,任何新的輸入檔案都應被正確處理。 等待監看資料夾恢復和處理檔案的時間長度取決於要調用的操作長度和要恢復的檔案數。

  3. 確定無法處理的檔案。 如果您等了適當的時間並完成了上一步,並且階段資料夾中仍有未處理的檔案,請轉到下一步。

    注意

    您可以查看階段目錄中檔案的日期和時間戳。 您可以根據檔案數和正常處理時間,判斷哪些檔案的存留時間夠久,足以被視為卡住。

  4. 將未處理的檔案從階段目錄複製到輸入目錄。

  5. 如果您在步驟2中阻止「監看的資料夾」處理新的輸入檔案,請將「包含檔案模式」更改為其上一個值,或重新啟用您禁用的進程。

觀看資料夾的安全考量事項

每個觀看的資料夾都設定有使用者名稱和密碼。 叫用服務時會使用這些憑證。 「監視的資料夾」依賴於共用資料夾受基礎安全檔案系統的保護,這樣只有監視的資料夾的所有者才能訪問共用資料夾。

觀看資料夾的提示和秘訣

以下是設定「觀看資料夾」端點時的一些秘訣和技巧:

  • 如果Windows上有正在處理影像檔案的觀看資料夾,請為「包含檔案模式」或「排除檔案模式」選項指定值,以防止Windows自動產生的Thumbs.db檔案被觀看資料夾輪詢。

  • 如果指定cron運算式,則會忽略重複間隔。 cron表達式的使用基於Quartz開放源作業調度系統1.4.0版。

  • 批大小是在監視資料夾的每次掃描中將拾取的檔案或資料夾的數量。 如果批大小設定為兩個,且有十個檔案或資料夾被拖放到監視的資料夾輸入資料夾中,則每次掃描只會擷取兩個檔案或資料夾。 在下次掃描(將在重複間隔中指定的時間後進行)中,將拾取下兩個檔案。

  • 對於檔案模式,管理員可以指定規則運算式,並新增對萬用字元模式的支援,以指定檔案模式。 「監看資料夾」會修改規則運算式以支援萬用字元模式,例如&ast;。&ast;或&ast;.pdf。 規則運算式不支援這些萬用字元模式。

  • 「觀看的資料夾」掃描輸入資料夾以進行輸入,在開始處理檔案或資料夾之前,不知道源檔案或資料夾是否已完全複製到輸入資料夾。 要確保在提取檔案或資料夾之前將源檔案或資料夾完全複製到監視資料夾的輸入資料夾,請執行以下任務:

    • 使用等待時間,即Watched Folder從上次修改的時間開始等待的時間(以毫秒為單位)。 如果您要處理大型檔案,請使用此功能。 例如,若要下載檔案需要10分鐘,請將等待時間指定為10&ast;60&ast;1000毫秒。 如果檔案的存留期未達10分鐘,則「已觀看的資料夾」無法擷取該檔案。
    • 使用排除檔案模式和包含檔案模式。 例如,如果排除檔案模式為ex*,而包含檔案模式為in*,則「監看資料夾」會擷取以「in」開頭的檔案,且不會擷取以「ex」開頭的檔案。 要複製大型檔案或資料夾,請首先更名該檔案或資料夾,使名稱以「ex」開頭。 將名為「ex」的檔案或資料夾完全複製至監看的資料夾後,將其重新命名為「in&ast;」。
  • 使用清除持續時間來保持結果資料夾的乾淨。 「已觀看」資料夾會清除所有早於清除持續時間中提及的持續時間的檔案。 持續時間為天。

  • 新增「監看資料夾」端點時,選取操作名稱后,會填入輸入參數對應。 對於操作的每個輸入,產生一個輸入參數映射欄位。 以下是輸入參數對應的範例:

    • 對於com.adobe.idp.Document輸入:如果服務操作的輸入類型為Document,則管理員可以將映射類型指定為Variable。 「監看資料夾」會根據為輸入參數指定的檔案模式,從監看資料夾的輸入資料夾擷取輸入。 如果管理員指定*.pdf為參數,則每個副檔名為.pdf的檔案將被拾取,轉換為com.adobe.idp.Document,並調用該服務。
    • 對於java.util.Map輸入:如果服務操作的輸入類型為Map,則管理員可以將映射類型指定為Variable,並輸入具有*.pdf等模式的映射值。 例如,服務需要兩個com.adobe.idp.Document對象的映射,這些對象表示輸入資料夾中的兩個檔案,如1.pdf和2.pdf。 「Watched Folder」將建立一個映射,其中鍵為檔案名,值為com.adobe.idp.Document
    • 對於java.util.List輸入:如果服務操作的輸入類型為「清單」,則管理員可以將映射類型指定為Variable,並輸入具有*.pdf等模式的映射值。 將PDF檔案放入輸入資料夾時,「監看資料夾」會建立代表這些檔案的com.adobe.idp.Document物件清單,並叫用目標服務。
    • 對於java.lang.String:管理員有兩個選項。 首先,管理員可以將映射類型指定為Literal,並輸入映射值作為字串,如hello. 「監看資料夾」將使用字串hello調用該服務。 其次,管理員可將映射類型指定為Variable,並輸入具有*.txt之類模式的映射值。 在後一種情況下,副檔名為.txt的檔案會讀取為受強製作為字串來叫用服務的檔案。
    • Java基元類型:管理員可以將映射類型指定為Literal並提供值。 「監看的資料夾」將調用指定值的服務。
  • 「監看資料夾」是用於處理文檔。 支援的輸出為com.adobe.idp.Documentorg.w3c.Documentorg.w3c.Node,以及這些類型的清單和映射。 任何其他類型都會導致失敗資料夾中出現失敗輸出。

  • 如果結果不在結果資料夾中,請驗證失敗資料夾以查看是否發生了故障。

  • 如果用於非同步模式,「監看的資料夾」最能運作。 在此模式中,「觀看資料夾」會將呼叫請求置入佇列並回呼。 然後會以非同步方式處理佇列。 未設定「非同步」選項時,「監看資料夾」會同步調用目標服務,而「處理引擎」會等待服務完成並產生請求和結果。 如果目標服務需花很長時間處理請求,則「觀看的資料夾」可能會出現逾時錯誤。

  • 建立用於導入和導出操作的監視資料夾不允許對檔案名進行擴展抽象。 使用觀看的資料夾調用表單資料整合服務時,輸出檔案的副檔名類型可能與文檔對象類型的預期輸出格式不匹配。 例如,如果調用導出操作的監視資料夾的輸入檔案是包含資料的XFA表單,則輸出應為XDP資料檔案。 若要取得副檔名正確的輸出檔案,可在輸出參數映射中指定它。 在此示例中,可以使用%F.xdp進行輸出參數映射。

  • 「監看的資料夾」可能會在輸入檔案被完全複製到資料夾之前對其進行處理。 在UNIX上,檔案鎖定不是強制的,因為它在Windows上。 因此,當檔案被複製到監看資料夾時,「監看資料夾」可能會將檔案移動到存放,而不等待檔案副本完成。 此行為只會處理部分輸入檔案。 目前有兩種解決方法:

    • 解決方法1

      1. 指定「排除檔案模式」的模式,例如temp&ast;.ps。
      2. 將以臨時(如temp1.ps)開頭的檔案複製到監看的資料夾。
      3. 將檔案完全複製到監看資料夾後,請更名檔案以與為「包含檔案模式」指定的模式相對應。 接著,「已觀看的資料夾」會移動已完成的檔案以進行預備。
    • 解決方法2

      如果您知道將檔案複製到已觀看資料夾所需的時間上限,請指定「等待時間」的秒數。 接著,Watched Folder會等待指定的時間長度,再將檔案移動至存放。

      這對Windows上的檔案不是問題,因為當一個線程寫入時,Windows會鎖定檔案。 但是,這是Windows上資料夾的問題。 對於資料夾,您必須遵循解決方法1中的步驟。

  • 如果「監看資料夾」的「保留資料夾名稱」端點屬性設定為空目錄路徑,則暫存目錄不會按照原應清理。 目錄仍包含已處理的檔案和臨時資料夾。

受監視資料夾的服務特定建議

對於所有服務,您應調整已觀看資料夾的批次大小和重複間隔,使「已觀看資料夾」擷取新檔案和資料夾以進行處理的速率不超過AEM表單伺服器可處理的作業速率。 使用的實際參數可能會因配置的監視資料夾數量、使用監視資料夾的服務以及處理器上作業的密集程度而有所不同。

生成PDF服務建議

  • 「產生PDF」服務一次只能針對下列檔案類型轉換一個檔案:Microsoft Word、Microsoft Excel、Microsoft PowerPoint、Microsoft Project、AutoCAD、Adobe Photoshop®、Adobe FrameMaker®和AdobePageMaker®。 這些是長期存在的工作;因此,請務必將批次大小保持在較低的設定。 如果群集中有更多節點,也增加重複間隔。
  • 對於PostScript(PS)、封裝的PostScript(EPS)和影像檔案類型,生成PDF服務可以並行處理多個檔案。 您應根據伺服器的容量和群集中的節點數,仔細調整會話Bean池大小(這會控制將並行完成的轉換數)。 然後,將批處理大小增加為等於您嘗試轉換的檔案類型的會話bean池大小的數字。 輪詢頻率應由群集中的節點數決定;但是,由於「產生PDF」服務會以相當快的速度處理這類作業,因此您可以將重複間隔設為5或10之類的低值。
  • 即使「生成PDF」服務一次只能轉換一個OpenOffice檔案,轉換速度還是相當快。 PS、EPS和映像轉換的上述邏輯也適用於OpenOffice轉換。
  • 要在群集中實現均勻的負載分佈,請保持批處理大小低並增加重複間隔。

條碼式表單服務建議<a0/

  • 為在處理條碼式表單(小檔案)時獲得最佳效能,請為「批次大小」輸入10,為「重複間隔」輸入2

  • 當輸入資料夾中放置了許多檔案時,可能會出現名為​thumbs.db​的隱藏檔案的錯誤。 因此,建議您將包含檔案的「包含檔案模式」設定為與輸入變數指定的值相同(例如*.tiff)。 這會使「監視的資料夾」無法處理資料庫檔案。

  • 批次大小值5和重複間隔2通常已足夠,因為條碼式Forms服務通常需要大約0.5秒來處理一個條碼。

  • 觀看的資料夾不會等待處理引擎完成作業,然後才會擷取新檔案或資料夾。 它會持續掃描已監視的資料夾並叫用目標服務。 此行為可能會使引擎過載,導致資源問題和逾時。 請確定您使用重複間隔和批次大小來限制「監看資料夾」輸入。 如果存在更多監視資料夾,或在端點上啟用限制,則可以增加重複間隔並減小批大小。 有關節流的資訊,請參閱關於節流

  • 觀看資料夾會模擬使用者名稱和網域名稱中指定的使用者。 如果直接調用該用戶,或該進程短時,Watched Folder將以此用戶身份調用該服務。 對於長期的進程,該進程將通過系統上下文調用。 管理員可以為「監看資料夾」設定作業系統原則,以決定要允許或拒絕存取哪個使用者。

  • 使用檔案模式來組織結果、失敗和保留資料夾。 (請參閱關於檔案模式。)

  • 「觀看的資料夾」依賴Quartz調度程式掃描觀看的資料夾。 Quartz調度程式具有用於掃描它們的線程池。 如果已觀看資料夾的重複間隔非常低(< 5秒),且批次大小很高(> 2),則可能會發生競爭條件。 發生此情況時,兩個Quartz線程會擷取一個檔案:

    • 其中一個線程成功找到該檔案,並使用該檔案調用目標服務。
    • 第二個線程會查看該檔案,但當它試圖查明該檔案是否有效(讀或寫檔案)時失敗,這會導致錯誤失敗,表示無法處理該檔案,因為該檔案是只讀的。 只有在重複間隔低且批次大小高的情況下才會發生此情況。

本頁內容