只有 File 端口 可以延遲最終確定。其他來源端口不支援此功能。
核心功能
- 延遲清理來源檔案,在下游工作流程成功之前不會刪除已接收的檔案
- 自動處理逾時,釋放待處理檔案以供再次接收,且不刪除來源檔案
- 無需設定即可關聯到來源端口,因為訊息本身攜帶了尋找來源端口所需的資訊
- 訊息無法最終確定時提供清楚的錯誤訊息
概觀
預設情況下,File 端口等來源端口在接收到訊息後會立即完成該訊息。任何後續處理作業(例如從來源資料夾中刪除檔案)都會立即執行,即使下游工作流程隨後失敗也是如此。 在 File 端口上啟用 延遲最終確定接收的檔案 後,端口會將每個接收到的檔案保持為待處理狀態。Finalize 端口會在工作流程的其餘部分成功後完成該待處理檔案。 當訊息到達 Finalize 端口時,該端口會:- 讀取訊息攜帶的延遲來源資訊。
- 找到接收該檔案的來源端口。
- 通知來源端口最終確定該檔案,從而觸發來源端口中設定的清理作業(例如,啟用 刪除檔案(接收後) 時刪除該檔案)。
端口配置
本節包含所有可設定的端口屬性。設定索引標籤
與端口核心設定相關的設定。| 設定 | 描述 |
|---|---|
| 端口 Id | 端口的靜態、唯一識別碼。 |
| 端口型別 | 顯示端口型別及其用途的描述。 |
| 端口描述 | 一個可選欄位,用於提供端口及其在流中的角色的自由格式描述。 |
進階索引標籤
其他設定
日誌
用於管理日誌建立和儲存的設定。
| 設定 | 描述 |
|---|---|
| 日誌級別 | 指定要記錄在端口日誌目錄中的資訊型別:
|
| 日誌資料夾結構 | 指示端口根據選定的時間間隔將日誌資料夾中的檔案分組。例如,Weekly 選項指示端口每週建立一個新的子資料夾,並將該周的所有日誌儲存在該資料夾中。空白設定告訴端口將所有日誌直接儲存在日誌資料夾中。對於處理許多交易的端口,使用子資料夾有助於保持日誌的有序性並提高效能。 |
| 保留訊息副本 | 指示端口在日誌目錄中儲存最新訊息副本的切換。請注意,端口每個子資料夾只保留一個訊息,並且端口在再次執行時會覆蓋以前儲存的訊息。 |
其它
特殊設定適用於特定用例。
| 設定 | 描述 |
|---|---|
| 其他設定 | 允許在以分號分隔的清單中配置隱藏的端口設定,例如 setting1=value1;setting2=value2。正常的端口用例和功能不需要使用這些設定。 |
自動化索引標籤
自動化設定
與端口自動處理檔案相關的設定。效能
與端口資源分配相關的設定。
| 設定 | 描述 |
|---|---|
| 最大工作執行緒數 | 此端口上處理檔案時從執行緒池中消耗的最大工作執行緒數。如果設定,則會覆蓋 進階設定 頁面的 效能設定 部分的預設設定。 |
| 最大檔案數 | 分配給端口的每個執行緒傳送的最大檔案數。如果設定,則會覆蓋 進階設定 頁面的 效能設定 部分的預設設定。 |
通知索引標籤
SLA 索引標籤
交易索引標籤
此索引標籤列出了與該端口關聯的所有訊息。使用搜尋列尋找特定訊息,或點選漏斗圖示套用篩選條件。可以依時間、訊息方向和/或狀態進行篩選。將 Finalize 與 File 端口搭配使用
若要將已接收檔案的刪除作業延遲到工作流程成功之後:- 在接收檔案的 File 端口上,啟用 延遲最終確定接收的檔案;如果希望刪除來源檔案,還需啟用 刪除檔案(接收後)。請參閱接收。
- 建置處理該檔案的工作流程其餘部分。
- 新增一個 Finalize 端口,並將其連接到處理該檔案的最後一個端口的 成功路徑。

- File 端口從其設定的路徑接收檔案,並將其保持為待處理狀態。
- X12 端口將檔案轉換為 XML。
- SQL Server 端口將 XML 資料 upsert 到 SQL Server。
- SQL Server 端口的 成功路徑 連接到 Finalize 端口,由 Finalize 端口完成該待處理檔案。
- 檔案到達 Finalize 端口。 File 端口完成該檔案並執行設定的清理作業。
- 達到待處理逾時時間。 此逾時由 File 端口 自動化索引標籤 上的 接收待處理逾時(分) 設定控制。訊息會被標記為 Pending Timeout 錯誤,來源檔案不會被刪除,並且該檔案會被釋放,以便可以再次接收。
並非來自已啟用延遲最終確定之端口的訊息無法被最終確定。將一般訊息傳送到 Finalize 端口會導致錯誤。
來源檔案變更
如果來源檔案在接收之後、最終確定之前發生了變更,端口不會刪除該檔案。應用程式日誌中會包含以下訊息,其中{0} 為檔名:
Source file '{0}' changed after it was received. Deferred finalization will not delete it.
待處理逾時
File 端口 自動化 索引標籤上的 接收待處理逾時(分) 設定控制已接收檔案保持待處理狀態的時長。預設值為 10 分鐘;設定為 0 時,檔案會無限期保持待處理狀態。如果待處理訊息在逾時之前未被最終確定:- 應用程式日誌會記錄該訊息在等待最終確定時超過了待處理逾時時間。
- 系統會傳送一封主旨為 Send Failure: Pending Timeout 的錯誤通知。
- 訊息會被標記為 Pending Timeout 錯誤,在 交易 索引標籤中顯示為 Error。
- 來源檔案不會被刪除,該檔案將可以被再次接收。