只有 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。
- 源文件不会被删除,该文件将可以被再次接收。